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

更新时间:2024-01-26 01:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

触摸屏小数点之后的数值由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为触摸屏数据确认时写入

结束语

通过上例的实例展示,完成了触摸屏对仪表的数值实时读取和数值写入。在发送指令前,可以先用串口调试软件,先对仪表发送指令,然后将正确的指令格式和从仪表的返回值中选择自己想要得到的数值,然后再用数据串行发送指令将数据与仪表进行交换。

本文来源:https://www.bwwdw.com/article/89zw.html

Top