触摸屏小数点之后的数值由PLC单个发送给仪表的方法.docVIP

触摸屏小数点之后的数值由PLC单个发送给仪表的方法.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
触摸屏小数点之后的数值由PLC单个发送给仪表的方法

触摸屏小数点之后的数值由PLC单个发送给仪表的方法 前言 在使用PLC与多功能仪表Mudbus通信的时候,经常会遇到将触摸屏设置的一串带小数点的数值如0.1234,发送到PLC,然后在经过PLC以ASCII码的模式发送到仪表上,设置或读取仪表数值。接下来我们就以台达触摸屏、台达PLC和omron激光仪表为例,详细的介绍如何实现此功能。 第一部分:实现相互通信 台达触摸屏与台达PLC使用RS-485实现相互通信,仪表只带有RC232通信口,则PLC与仪表使用RS232通信模式实现相互数据交换。 第二部分:实例展示 触摸屏要实现能够设置仪表的上、下限位数值、实时读取仪表测量的当前数值。如图1为触摸屏实时读取仪表当前值。 图1 图1中实时厚度属性如右半部分所示,小数点设置成后四位。 PLC程序,实现使用RS232,应先设置通信模式,两者的波特率,停止、校验、数据长度应设置成相同。如图2所示,RS232通信模式设置。 图2 PLC与仪表RC232通信设置 图3 PLC实时读取仪表数值要发送的ASCII码 图3程序中M1012实现每50ms对仪表发送一次数据,M301、M304和M307是用来PLC对仪表写数据时断开PLC读取仪表数值。因为对仪表发送RS指令时要嘛是读、要嘛是写,不能同时。从D800之后的16个位D800~D815分别存储PLC读取仪表发回来的ASCII数值,具体接受多少可用的数值位数,可以先用串口调试软件,发送读取ASCII,然后查看仪表发回来的一串数值,对应D800~D815中的位置,选取数值位。 图4 PLC读取D800可用位数转换成10进制数 图5 数值小于0时输出0 图6 将位读取值组合成数据串 如仪表当前显示值为0.1234,从D800转换选择有用数位后,D100的值为1,D101的为2,D102的为3,D103的4。现在我们只要把读取的1,2,3,4给组合起来,然后在触摸屏显示时设置成小数点后四位,就能实现显示0.1234。D100中的值乘以1000,那么D100中的1就换算成1000,存于D100的低八位,同理百位、十位的也是如此。最后使用和指令将所有值累加就是1234了。 第三部分:触摸屏数值写入 将触摸屏的上、下限,如图7所示通过PLC写入仪表中。图8为上限数值写入属性设置。 图7 触摸屏上、下限设置 图8 上限写入属性设置,数值写入PLC 寄存器D2000中 将写入PLC的值进行运算,将0.1234中的1234分解成1,2,3,4。寄存器D值中的数值在DIV除法运行时,根据指令定义除得得商将存在低八位D2100中,那么余数高八位D2101中。所以D2000中数值1234除以10000后得到商0.1余数是234。以此类推,其余数值也是如此,如图9所示。 图9 数值串分解成位数 数值分解完成后,将十进制数值转化成十六进制,用于数据发送。如图10所示。 图10 十进制转化成十六进制 图11 PLC数据写入仪表M301为触摸屏数据确认时写入 结束语 通过上例的实例展示,完成了触摸屏对仪表的数值实时读取和数值写入。在发送指令前,可以先用串口调试软件,先对仪表发送指令,然后将正确的指令格式和从仪表的返回值中选择自己想要得到的数值,然后再用数据串行发送指令将数据与仪表进行交换。

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档