求助:PLC做主站的MODBUS通信大家好,我打算采用MUDBUS協議來實現PLC與DSP的通信,由於一些原因我必須把PLC作為主站,在STEP 7 MicroWIN V4.0 SP4中我調用了MUDBUS RTU主站指令庫。我想請教大家的是,當PLC要讀DSP的寄存器中的值時,DSP回傳數據幀後,這些數據會保存在PLC的寄存器中,那麼如果是調用MUDBUS RTU主站指令庫,PLC是不是自動的完成對數據幀的解包,也就是直接將要讀取的數據放在指定的寄存器中? 我要做的通信過程是這樣的:
DSP傳給PLC一些故障的信息和數據,PLC把這些數據放到指定的寄存器中,這些指定的寄存器與觸摸屏的一些寄存器一一對應,然後在屏上顯示 由於我使用了MODBUS協議,我想用定義好的功能碼03和06以及16
這個保持寄存器我想能不能把DSP中的寄存器做個映射,比如DSP的地址0x0001對應的是MODBUS地址的40001,那麼我要讀0x0001的值,我訪問40001就可以了 因此我定的協議是這樣的:
PLC發的數據格式依次為 站地址、功能碼、要讀從站的首地址(即40001,而不是0x0001)、數據個數、校驗碼
而DSP給我回傳的數據格式依次是:站地址、數據個數、數據、校驗碼 我的想法是這樣的 :我們先固定好什麼樣的故障信息放入指定的寄存器 我要讀故障信息 直接讀這些地址就可以了 把這些信息讀回我PLC的寄存器 由於已經做了規定 我自然知道這些數據是什麼樣的故障 那麼PLC這方就不用做判斷了
我再把這些數據傳到與觸摸屏對應的寄存器中 ,供觸摸屏讀取來顯示 整個通信過程就是這樣的了 ,因為從來沒做過,網上也找不到類似的資料,大家幫忙看看能不能實現啊?