签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
如题,我想用smart做个程序,假设有ABCDE等5个功能普通Q点输出,打算分配在Q0.0---Q0.4这5个输出口上,现想要在屏幕上自由定义Q点输出功能,就是说每个Q点都可以是ABCDE这几个功能中一种,不用考虑是否功能重复的冲突,冲突就2个输出点同时输出相同功能就好。大家有什么好建议吗?主要想尽量用最少的程序步实现这个功能。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1787357&b_id=64&s_id=0&num=10
位寻址。我发过一个例子。
说的太精简了,不能全面了解你的需求。
做个子程序,接口是功能编号,里面实现ABCDE五个功能,根据功能编号来输出。
至于5个Q点就调用5次就好了。
甚于可以十个Q点也不是问题。
我只觉得每周期都算一次这推寻址就太浪费时间了。不过我也没有好办法。
感觉简简单单,实则无从下手
能否直接在这里说一说思路
输出重定向。不止一个人发过程序。
找。
不理解。Q怎么用指针寻?
引用6楼详细内容:
第1种办法,输入多选一复值到单个输出: 块左边输入:多个布尔量输入;外加一个选择字节输入,用来选择到底使用哪个布尔量。 块右边输出:一个布尔量输出,用来输出选择的布尔量。 第2种办法,输入多选一,输出多选一,赋值: 块左边输入:跟上面相同。 块右边输出:第一个选择字节用来选择QB编号,第二个选择字节用来选择QB的位;例如想要Q3.4输出,则第一个字节填入3,第二个字节填入4。程序内部通过指针实现 两种办法,前者简单,后者灵活
https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1790426&b_id=64&s_id=0&num=2#anch这里有你要的
给一个思路吧,程序自己实现。
1、假设条件:
Q点的分布是无规律的,但可以通过中间变量,让中间变量的排列变得有规律。
中间变量与实际Q点就是一一对应关系,简单COPY就是了。
M0.4,M0.3,M0.2,M0.1,M0.0
分别对应5个Q点
2、实现任意操作某一Q点,5个Q点,相同工作做5次,也可以制成子程序调用5次。
3、设
VB0为Q点序号,0对应M0.0,1对应M0.1,以此类推
M2.0表示该Q点的状态,需要复制到指定M0.x上
4、定位M0.x点
用到一个指令DECO,解码指令
设VB=2,即操作第三个Q点,对应为M0.2
DECO VB0,VW2 // 执行后,VB3=0000,0100
VW分VB2和VB3两个字节,因为只有5个Q点,只用到VB3
执行DECO后,V3.2=1,其余位为0:0000,0100
5、复制M2.0状态到M0.2上
分两种情况:
如果M2.0为1,则执行OR或操作
OR VB3, MB0 // 执行后,M0.2=1,其余位不变
如果M2.0为0,则执行AND与操作
INVB VB3 // 执行后VB3=1111,1011
ANDB VB3,MB0 // 执行后MB0.2=0,其余位不变
6、实验程序,在STL模式下复制到MicroWin Smart
LD Always_On:SM0.0
LPS // 兼容LAD
DECO VB0, VW2 // 解码
A M2.0
ORB VB3, MB0 // 置位
LPP // 兼容LAD
AN M2.0
INVB VB3 // 取反
ANDB VB3, MB0 // 复位
上面是单网络兼容LAD的程序,有多余的指令
双网络程序,精简如下
网络1
网络2
LD M2.0
NOT
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录