技术论坛

 回复:关于定时器问题

返回主题列表
作者 主题
名竹
游民

经验值:75
发帖数:60
精华帖:0
楼主    2006-12-28 16:04:16
主题:关于定时器问题
300的PLC,在触摸屏上做一个可改变的定时器输入,单位为分钟。程序是这样写的:先把触摸屏输入值转化为实数,再乘以6,然后转化为BCD码,设置时基为10S。运行过程中,输入个位数时运行正常,但输入超过10时,PLC的SF灯就亮,请问是什么原因?谢谢
学习等于进步
阿鸣
至圣

经验值:10986
发帖数:4233
精华帖:26
    2006-12-29 11:23:27
精华帖  主题:回复:关于定时器问题
如楼上所讲,没有转换好。
注意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路径下,关于功能块的描述详见在线帮助。
一日三省吾身
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。