组态王软件(kingview)由北京亚控科技发展有限公司针对低端自动化市场以及应用开发的一款软件,由于其丰富的设备驱动程序和灵活的组态方式,数据链接功能得到了广泛的应用。而智能设备选择深圳市鼎信鸿达科技有限公司的MD-108型模拟量输入模块,其支持八通道0-20mA电流信号输入,支持十二位分辨率,内置Modbus RTU通信协议。
首先,打开组态王软件,新建工程或者打开工程,进入工程浏览器窗口,选择"设备"项目,然后在右边选择"新建"图标,在“设备驱动”里面选择"PLC"->"莫迪康"->"Modbus RTU"->"COM",然后选择下一步。给设备取名,在此使用默认的“新IO设备”,然后选择下一步,选择COM口,在此,使用的是"COM1",地址码按照模块地址来设置,在此MD-108模块默认地址是“01”,在此设置为“1”。然后下一步直至完成。
然后双击"设备"->"COM1",弹出COM1的串口参数设置,按照模块的串口通信参数进行设置,注意:由于组态王里面的COM1的默认参数,校验位偶校验,而大多数串口设备则多为无校验,这里必须要修改过来,否则会通信失败,通信模式为RS-485。
选择"数据库"->"数据词典"之后点击右边的"新建",按照图示填写相应参数,变量名以及变量描述依据自己的定义填写,由于我们采集的是模拟量信号,数值为一个寄存器,两个字节表示,在此变量类型我们设定为"I/O实数",灵敏度按照自己的模块来设定,我们在此为0.001,注意:“最大值的设定必须是要实际数值的1000倍,比如最大电流值为20mA,在此最大原始值必须为20000,否则读取的数值就会总是最大值,比如开始设定的为20,其后读取的数值一直为20。在此一定要特别留意。”然后就是连接设备就是"新IO设备",寄存器"40002"的意思是,由于采用的是功能码"03",在此对应的是"4"和"只读",后面的"0002"表示的是寄存器地址,MD-108的第一个模拟量输入通道寄存器地址是"0001",由于MD-108的寄存器地址是从"0000"开始,而组态王的寄存器地址则默认从"0001"开始,所以需要在寄存器表地址上+1,由于没有正负数,数据类型我们设置为"ushort"。
然后打开开发系统,新建画面,关联相关变量,在此选择的值输出为"模拟值输出",然后打开进入view界面,打开画面,就可以看到从MD-108模拟量输入模块上采集的对应数值。
那要看你的MOXA模块有没有协议转换,如果有,就在组态王内选择转换后的协议,如modbusTCP之类的协议。如果没有协议转换,就要用光盘中的软件进行串口虚拟,重新转换成串口,组态王串口设置就用虚拟后的串口