| 作者 | 主题 |
|---|---|
|
名竹 游民 经验值:75 发帖数:60 精华帖:0 |
楼主
主题:关于定时器问题
300的PLC,在触摸屏上做一个可改变的定时器输入,单位为分钟。程序是这样写的:先把触摸屏输入值转化为实数,再乘以6,然后转化为BCD码,设置时基为10S。运行过程中,输入个位数时运行正常,但输入超过10时,PLC的SF灯就亮,请问是什么原因?谢谢
学习等于进步
|
|
阿鸣 至圣 经验值:10986 发帖数:4233 精华帖:26 |
楼
主题:回复:关于定时器问题
如楼上所讲,没有转换好。
注意S5TIME的数据格式:即为一个字:其高4位(15-12)为时基,其余12位是最大999的BCD码。如时基为10 s,则取值范围为10 s - 2 hr 46 min 30 s。 有资料所述: 如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有如下方法: 1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。 请点击http://www4.ad.siemens.de/WW/view/en/11932644 参见在线FAQ。 2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。 3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。 FC33用于S5TIME到TIME的转换。FC40用于TIME到S5TIME的转换。这两个块位于Libraries\Standard Library\IEC Function Blocks路径下,关于功能块的描述详见在线帮助。
一日三省吾身
|