继续求教定时器SD、S-ODT的时间

各位高手们,我在做S7300程序是用到的计时SD,用户希望在实际应用中,这个时间可以在组态画面上修改。SD的时间格式为S5T#2s,那么我想用MW100来储存SD的时间值,如下图1,但是在MD108中我预设置有数值,但是在运行后我监视PLC运行,显示为0,MW164输出也是0,定时器没有运行。这个问题我请教过多次,是否会是我没有设定时基?另外在“定时器程序”贴图中我搞不清AW是啥意思。请解释下STL语句:
     L     MW    100      
      ITB                             将MW100数值转换为BCD
      L     W#16#2FFF
      AW                             AW是什么?
      T     MW    120            
 还有在有的用OW,又是什么?对于时基要在哪里设置?敬请指教!y6843@sina.com  673049828

问题补充:
能否将STL语句的程序转为梯形图?谢谢!
L     MW    100      
      ITB                            
    L     W#16#2FFF
      AW                             
      T     MW    120

图片说明:

继续求教定时器SD、S-ODT的时间    继续求教定时器SD、S-ODT的时间   

最佳答案

CPU中定时器的设定值,分为时间基数和时间数值,其中时间的数值是以BCD码的形式进行存储的,所以要HMI设定的数值要进行一次的改变;
 L     MW    100      
 ITB                 //将时间的数值转化为BCD码的格式,但是这个时候时间基数没有体现出来,          
 L     W#16#2000  //W#16#2000转化为二进制的话,只有12-15位是特殊的为2 也就是0010那么时基就是1S
 OW     //字逻辑或以后就只有形成了一个定时器的数据格式了,有数值的才能保存,为0的去除;
T  MW120     //这时这个数就可以用来作为定时器的时间了
这个程序,最重要的是要了解定时器的时间格式,的0到11位保留二进制编码的十进制格式时间值(BCD格式:由四位组成的每一组都包含一个十进制值的二进制代码)。第12和13位存放二进制编码的时间基准。在编程手册里翻看下有关定时器的部分

FC40是库文件提供的一个IEC时间转化功能。调用即可。
//抱歉,之前程序没有给你分析好,现在的这个事正确的,图片里是LAD的

图片说明:

继续求教定时器SD、S-ODT的时间  

提问者对于答案的评价:
谢谢指教,原来的是我程序里有个脉冲上升沿地址不对。谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc227509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午2:37
下一篇 2018年12月1日 上午2:37

相关推荐