一、组态王新建设备:
本例以组态王用串口读取昌晖数显仪表(带通信)数据为例。
单击“设备”树目录,在边也框也现如图所未:
双击新建,打开如图:
选择PLC选项下的--莫迪康--ModbusRTU--com,单击“下一步”,打开如图:
输入逻辑名称,单击“下一步”,
选择通讯串口。单击下一步,
输入地址(当前数显仪表地址为1),单击下一步,
默认设置,单击“下一步”,
单击“完成”。如图所示:
根据数显仪表通讯参数设置(波特率,校验位(无校验),通讯方式等,以实际的为准)。
二、数据词典:
数据词典就是数据交换的点,如图:
在数据词典时,先要知道数显仪表读取数据的数据排列(主要是4字节浮点数),根据组态提供的数据格式,可以支持四种格式:
SWAP寄存器只对寄存器9起作用。包括浮点数和长整型。例如在通讯时从0001地址读取的四个十六进制值为 HV1,HV2, HV3, HV4则:
当SWAP=0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1。
当SWAP=1时,转换后浮点数对应的内存值为: HV3 HV4 HV1 HV2。
当SWAP=2时,转换后浮点数对应的内存值为: HV1 HV2 HV3 HV4。
当SWAP=3时,转换后浮点数对应的内存值为: HV2 HV1 HV4 HV3。
组态王默认为0,因此,如果数据格式不对,可能会产生数据读取的值有偏差,特别是小数部份。
新建变量:
本例的数据是以最后一种格式(当SWAP = 3时,转换后浮点数对应的内存值: HV2 HV1 HV4 HV3),因此,需要在建数据点之前,先建数据内部结构的变量。如上图所示,此数据建立时,一定要只写,而且只能是BYTE类型。建好后,还需在树目录“命令语言”部分,进行设置,如图:
这样,组态王在运行时,对应的设备采集会自动对浮点数格式进行内存转换。
如果数据格式本来就是和组态王相同(当SWAP=0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1),那就不需建立上面点值。(SWP-ASR记录仪数据就是此模式)
新建其他数据点
这样,组态王在运行时,对应的设备采集会自动对浮点数格式进行内存转换。
如果数据格式本来就是和组态王相同(当SWAP = 0时,转换后浮点数对应的内存值为: HV4 HV3 HV2 HV1),那就不需建立上面点值。(SWP-ASR记录仪数据就是此模式)
新建其他数据点
如果需要保存,可以把状态选中。对于保存数据,不在本讨论中,请自行查看组态王的数据保存。
建好后,就可以去画面部份建立画面。
打开如图:
保存后,组态王连上带通信功能的昌晖数显仪表或其他设备,所操作的数据就可以被读取上来。