施耐德PLC与上位机通讯的小部分程序,这段代码没看懂,能否详细解释下,或者给我些相应资料?多谢
上传按钮分了4块,这是第2块,具体不明白。请大神解释下呗procedureTRcpEditDlg.upload2Click(Sender:TObject);varSend...
上传按钮分了4块,这是第2块,具体不明白。请大神解释下呗
procedure TRcpEditDlg.upload2Click(Sender: TObject);
var
SendStr:array[0..11] of Byte;
astr:OleVariant;
i:integer;
begin
SendStr[0]:= 0;//交换识别号高字节,通常为0
SendStr[1]:= 0;//交换识别号低字节,通常为0
SendStr[2]:= 0;//协议识别号高字节,为0
SendStr[3]:= 0;//协议识别号低字节,为0
SendStr[4]:= 0;//字节长度高字节
SendStr[5]:= 6;//以下字节长度低字节
SendStr[6]:= 255;//单元识别号,确省为255
SendStr[7]:= 3;//读多个字命令代码
SendStr[8]:= 4;//读数据的起始地址高字节
SendStr[9]:= 88;//读数据的起始地址低字节
SendStr[10]:= 0;//数据长度高字节
SendStr[11]:= 120;//数据长度低字节 最大125
aStr:=VarArrayCreate([0, 11], varByte);
for i:=0 to 11 do
aStr[i]:=SendStr[i];
RcpEditsock1.SendData(aStr);
RcpEditsock_tag:=2;
end;
比如我想要添加参数的话,上传这里我应该修改什么地方? 展开
procedure TRcpEditDlg.upload2Click(Sender: TObject);
var
SendStr:array[0..11] of Byte;
astr:OleVariant;
i:integer;
begin
SendStr[0]:= 0;//交换识别号高字节,通常为0
SendStr[1]:= 0;//交换识别号低字节,通常为0
SendStr[2]:= 0;//协议识别号高字节,为0
SendStr[3]:= 0;//协议识别号低字节,为0
SendStr[4]:= 0;//字节长度高字节
SendStr[5]:= 6;//以下字节长度低字节
SendStr[6]:= 255;//单元识别号,确省为255
SendStr[7]:= 3;//读多个字命令代码
SendStr[8]:= 4;//读数据的起始地址高字节
SendStr[9]:= 88;//读数据的起始地址低字节
SendStr[10]:= 0;//数据长度高字节
SendStr[11]:= 120;//数据长度低字节 最大125
aStr:=VarArrayCreate([0, 11], varByte);
for i:=0 to 11 do
aStr[i]:=SendStr[i];
RcpEditsock1.SendData(aStr);
RcpEditsock_tag:=2;
end;
比如我想要添加参数的话,上传这里我应该修改什么地方? 展开
2个回答
展开全部
就是MODBUS 标准通信指令,网上一堆
更多追问追答
追问
感谢回答!比如我想要添加参数的话,上传这里我应该修改什么地方?谢谢大神
追答
修改sendser 这个数组里面的内容,具体怎么改,你自己看手册吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询