Demo 程序:
var Arr_Read=new Array(); //定义数组
Arr_Read[0]=00; //包头起始
Arr_Read[1]=01;
Arr_Read[2]=00;
Arr_Read[3]=00;
Arr_Read[4]=00;
Arr_Read[5]=06; //包头结尾
Arr_Read[6]=01; //地址站号
Arr_Read[7]=03; //Modbus 功能码
Arr_Read[8]=00; //起始地址高字节
Arr_Read[9]=00; //起始地址低字节
Arr_Read[10]=00; //数据长度高字节
Arr_Read[11]=02; //数据长度低字节
var Arr_Received=SendTextToTCP('192.168.1.189',502,100,Arr_Read);
//发送数据请求,接收报文为 Arr_Received 十进制数组中
WriteToTag('Simulator.Channel_1.TCP.40001',MakeWord(Arr_Received[10],Arr_Received[9]));
WriteToTag('Simulator.Channel_1.TCP.40002',MakeWord(Arr_Received[12],Arr_Received[11]));
Demo 程序说明:
通过 JS 脚本内的 SendTextToTCP( )函数操作网口发送 Modbus 命令,得到设备回应之后,取相应字节进行处理计算出当前值,并写给网关外部变量。