签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
闲翻代码,发现有这么几行:
ON #Allways_ON
O #Allways_OFF
S #Allways_ON
R #Allways_OFF
其中#Always_ON和#Always_OFF都是BOOL类型的TEMP变量,感觉有点儿意思。
你们怎么看?不知道你们是如何实现这个功能的?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1452122&b_id=4&s_id=0&num=30
太高深了,没看出个所以然来。
放到循环组织块,如OB35,可以当脉冲用,我就这么干过
就是定义常开常闭两个变量,在程序块内使用
正好看到一个:
方法应该还有很多吧
好像没有脉冲这回事啊?
通常都不执行。一但有意外,就会执行一下,扶正。
是不是这个理解?
跟下面那个梯形图也不是一回事(虽然效果一样,但你可以把梯形图写得更贴切的)。楼主的是没事就过,歪了就扶一下。下面的就是有事没事都扶着。
其实把中间两行换位,是不是也可以?
专家们一提醒,我想起我上次做个功能块:
FUNCTION_BLOCK FB2050
TITLE = 'Pulse'//// Block Comment...//VERSION: '1.0'AUTHOR: AuthorNAME: HSCFAMILY: Pulse
VAR_INPUT // Input Parameters
END_VAR
VAR_IN_OUT // I/O ParametersEND_VAR
VAR_OUTPUT PulseOut : BOOL := False ;
VAR_TEMP END_VARVAR PulseIn : BOOL := False;END_VAR
PulseIn := (PulseIn OR NOT PulseIn ) AND NOT PulseIn; PulseOut := PulseIn;
END_FUNCTION_BLOCK
可以在OB1中调用,也可以在循环中断中调用,目的就是产生一个周期脉冲。
放在OB1中,由于受CPU的扫描时间影响,周期可能有变化。如果需要比较精准的定时,必须放在循环中断中调用。
谢谢楼主分享
我一般这么写的
SET
= Allways_ON
CLR
= Allways_OFF
对,产生脉冲
这是产生常1和常0信号,用在需要调试等的时候,比较方便。
我们也用过这个功能!比较方便的一个功能!
你这就是一个上升沿功能块,和R_TRIG一样
引用7楼详细内容:
对的,就是一个上升沿,但是做成功能块以后,调用方便。
引用13楼详细内容:
在CFC中调用,马达故障时间监测。
这几个确实很常用,尤其是需要一个程序段并联很多指令时
真心,不错!
我一般都是用M点来做,写在OB1的第一个网络断和OB100,OB101中
A M0.0
AN M0.0
= M0.0 // 常开
O M0.1
AN M0.1
= M0.1 //党闭
这种用过。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录