王興旭
sunrise
級別: 探索解密
|
RS D100 K5 D200 K2 用RS串行數據傳送指令與變頻器通信,這里的D100--D104里面的數據傳到哪里去了?如果要傳到某個變頻,該怎樣設PLC的數據存儲器與變頻器的數據存儲相對應?D200--D201接收的數據又是從哪里來的呢?要怎樣進行設置呢? |
---|---|
|
菜鳥入行
級別: 論壇先鋒
|
D100--D104 發到對方去了 D200--D201 是從對方發來的 接收和發送有一個特殊的M驅動,好象是M8122和M8123 你要查變頻器的通訊格式,按變頻的格式發送才行。 一般情況下,變頻器支持MODBUS-RTU 如果用RS指令發送,還要自己算校驗碼 所以建議使用帶有MODBUS功能的硬件 此外如果是三菱的PLC和三菱的變頻通訊,有專用的指令,比如IVCK IVDR,會更簡便些。 |
|
---|---|---|
|
王瑋北
ggggfnux
級別: 略有小成
|
1、首先去了解數據幀的概念及格式.D100-D104里的數據是你發送出去的數據,比如D100=00H,D102=11H,D102=22H,D103=33H,D104=44H,那你觸發發送時,串口會向外發送數據包0011223344H,然后串口連著的設備就會收到這個數據包,然后按照它事先規定好的規則去解析及使用這個數據(比如它規定數據包前兩個字節是指要設定的頻率等等)。 2、以我們常用的MODBUS協議為例,MODBUS的數據幀中包含了通訊對象的站號、功能代碼、數據的起始地址、數據長度、校驗碼等。你要在D100及后面的寄存器中按格式要求寫好數據(當然K5應該不夠的),然后再發送出去。如果不出意外,你的通訊對象會在接收到你的數據包后解析它,然后會以規定好的格式發送回文,這個文你接收了之后會存在D200及后面的寄存器中(當然K2也是不夠的)。最后你就可以解析回文去判斷或得到你想要的數據。 |
---|---|
|
我是新來的
這里需要寫點兒東西
級別: 論壇先鋒
|
我最近也在研究RS指令,首先要設置D8120(通訊格式,波特率,奇偶校驗啥的)還有D8129(延時時間)然后你要確定發送和接受的數據是8位格式還是16位格式,8位就需要set M8161 反之就是16位格式。8位格式就是D100-D104的低八位存儲數據,高八位不用,16位格式就是全用。RTU協議的一般格式都是: 起始符 地址 命令 N個數據 CRC 結束符。 起始符和結束符看從站那邊要不要吧,這個沒準。你的D100-D104就對應 地址 命令 N個數據 CRC 你要是就用5個寄存器的話,應該是16位格式了,但是后面的D200 D201 就兩個寄存器接受應該是不夠了(只發不收的除外)。 本人也是三菱菜鳥,歡迎大神給予指導。 |
---|---|
|
yxgkrjy
級別: 正式會員
|
|
---|---|
|
ljb6688
級別: 論壇先鋒
|
現在MODBUS RTU應用較廣泛,格式比較固定 |
|
---|---|---|
|