如何在wincc画面输入时间数据到PLC

 我来答
laom75
高粉答主

2015-10-27 · 关注我不会让你失望
知道大有可为答主
回答量:4.6万
采纳率:84%
帮助的人:4979万
展开全部
  WinCC显示和更改PLC中的"时间变量"
  一. Step7中的两种时间变量 TIME 和 S5TIME
  #TIME格式的时间变量: 占4字节, 本质上是一个interger型变量, 单位ms.
  S5#TIME格式的时间变量: 占2字节, 表示成16进制为 W#16# wxyz , 其中w表示时基: w=0,1,2,3时, 对应的时基依次为10ms, 100ms, 1s,10s,xyz以BCD码格式表示数值: xyz=123就表示123个时基.范围0~999.

  二. WinCC中显示和修改 #TIME 格式变量.
  新建32位浮点变量, 调整格式选 FloatToUnsignedDWord. 地址选中PLC中#TIME变量地址, 即可! 此时, 浮点变量是以ms为单位的时间值. 如需以s位单位, 线性标定里, 修改量程 使倍数为1000倍.
  画面中配置IO文本域, 关联到新建的浮点变量, 即可显示并修改.

  三. WinCC中显示和修改 #S5#TIME 格式变量值.
  新建32位浮点数变量,调整格式选 FloatToSimaticBCDTime, 地址选中PLC中S5TIME地址, 即可! 此时, 浮点变量是以ms为单位的时间值. 如需以s位单位, 线性标定里, 修改量程 使倍数为1000倍.
  画面中配置IO文本域, 关联到新建的浮点变量, 即可正常显示. 经测试, 不把IO文本域的"输出格式"属性修改为"字符串"(保持缺省的"10进制"格式), 同样可以正确修改.
  需要注意的是, 由于S5TIME的限制, 并不能始终精确到10ms. 根据输入的值, WinCC会自动将之整定到对应的时基上. 比如: 输入100.5s时,已经不能用100ms时基(在范围0-99.9s范围可用), 只能用1s的时基, 所以WinCC将输入整定为100.0s并写入PLC.

  四. WinCC中定义变量窗口分析.
  变量值: 选32位浮点数,4字节, 此处指WinCC中新建的变量为32位浮点型. 调整格式: 选FloatToSimaticBCDTime, 说明此Float变量, 经转化为 SimaticBCDTime(ms为单位)类型后,与PLC中S5TIME变量相关联.所谓格式调整, 调整方向为: 变量值--->过程值.过程值地址选择: 此处指PLC中 S5TIME变量的地址.
  线性标定: 指定 "变量值"(WinCC中变量) 与"过程值"(PLC中变量值并经转化为临时float型) 的线性转化关系,所谓的上下限, 并不是说要限制不能超限, 仅仅是为了得到"线性因子"和"线性偏移量".因此,设定成 [0, 1000] -->[0,1.000] (零点不偏移, 转化因子1000倍),与设定成 [0, 9990]-->[0,9.990](也是因子1000), 二者效果是完全相同的!
  上面的设置, 显示时的数据流为:
  PLC中S5Time变量值 ---> 从SimaticBCDTime到Float的类型转换(以ms为单位的数值)--->Float值(ms为单位)线性转化,即缩小1000倍 ----> 转化结果赋值给 TimeTag2变量(32位浮点型)

  写入PLC时数据流方向刚好相反:
  TimeTag值 ---> 扩大1000倍的线性转化 ---> 转化结果进行类型转换: 从float到SimaticBCDTime--->转化得到的S5Time格式, 更新到PLC对应内存.
百度网友7b4d9bb
2012-05-19 · TA获得超过203个赞
知道答主
回答量:69
采纳率:0%
帮助的人:44.8万
展开全部
在建变量的时候 数据类型:选择“无符号16位”
地址:按你的需要设置
主要的是“改变格式”要选择“wordtoBCDword”
你在画面上输入的时间若为“y”则在PLc中的时间就是“y*10ms”了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式