1、可同時使用DVP-EP/EHRS-485/RS-232RS-422(依擴充卡而定)2. 以MODBUS ASCII模式的通訊協定與外界通信3. 通訊格式參數內容傳輸速度(Baud rate)9600 bps起始位元1資料長度7同位元(Parity)偶同位 (Even parity)停止位元3. 連線方式通訊口連接方法使用連接線DVPACAB215或DVPACAB230主端必須具有RS-485介面,使用雙絞線,具有隔離被覆網較佳RS-422主端必須具有RS-422介面,使用2條雙絞線,具有隔離被覆網較佳4. 通訊協定說明 通訊訊息框格式STX起始字元 :(3AH)ADR 1通訊位址:ADR 02
2、個ASCII字元共16 bitsCMD 1命令碼:CMD 0DATA(0)資料內容:DATA(1)n個ASCII字元共n*16 bits.限制n =74個ASCII碼DATA(n-1)LRC CHK 1偵誤值:LRC CHK 0END 1結束字元:END 0END 1 = CR(0DH),END 0 = LF(0AH) ADR(通訊位址)PLC通訊位址出廠設定值為0x01,因此(ADR 1, ADR 0)=0,10=30H, 1 = 31H LRC CHK(偵誤值)偵錯方式採用LRC(Longitudinal Redundancy Check)偵誤值。LRC偵誤值乃是將ADR1至最後一個資料內
3、容加總,將該值取2補數(2s Complement)得到之結果即為LRC偵誤值。例:01H+03H+04H+01H+00+01H = 0AH0AH的2補數為 F6H註1:2補數的求法:(1補數再加1)0A(H)= 0000 1010,先取1補數(將b0b7反相)得1111 0101,再加1為1111 0110= F6(H)即為0A(H)的2補數。註2:判斷的方法因此在收到一串完整的通訊命令,要檢查這串通訊命令是否有誤,只要將(ADR1,0)至(LRC1,0)加總等於0,則通訊無誤,否則表示命令中資料有些是錯誤的。013起始資料位址4資料數F6CRLF 通訊異常PLC的回應:PLC收到完整的通訊
4、命令時,會判斷命令是否有效,造成無效的原因有:原因Exception codeLRC CHK ERROR07Device Address Invalid02要求的資料超過範圍03Command Code Invalid01通訊命令格式Invalid使用命令碼 01讀取X000X017的狀態Field NameExample (Hex)Heading3ASlave AddressFunctionStarting Address Hi 04Starting Address Lo 00Number of Points HiNumber of Points Lo10Error Check ( LRC
5、)EAPLC回應:81Exception Code 7C因為Address 0400對Function 01是不合法的,所以回應Exception code = 0x02,且Function 01被設為81(b7被設為1),亦即由回應的Function code的 MSB被設為1表示PLC回應Error Message,並且由Exception code可得知是何種錯誤。 DATA(資料字元)及CMD(命令指令) 可用之命令碼敘述如下:(其中元件位址請參考文件”DVP-PLC元件通訊位址”)CodeName適用元件Read Coil StatusS, Y, M, T, CRead Input
6、StatusS, X, Y, M,T, CRead Holding RegistersT, C, D05Force Single Coil06Preset Single Register15Force Multiple Coils16Preset Multiple Register17Report Slave ID None 資料字元之格式依命令碼而定,依可用之命令碼的資料內容分別敘述如下:Function Code:01, Read Coil Status1425BFNumber of Points(max) = 255 = 0x00FFExample:Reading Coils T20T5
7、6 from slave device 01PCPLC “:01 01 06 14 00 25 BF CR LF”PLCPC “:01 01 05 CD 6B B2 0E 1B D6 CR LF”ContentsBytes CountData(Coils T27T20)CDData(Coils T35T28)6BData(Coils T43T36)B2Data(Coils T51T44)0EData(Coils T56T52)1BError Check(LRC)E6 02, Read Input StatusReading Contact Y024Y070 from slave device
8、0101 02 05 14 00 25 BF CR LF”01 01 05 CD 6B B2 0E 1B E5 CR LF”Data(Coils Y033Y024)Data(Coils Y043Y034)Data(Coils Y053Y044)Data(Coils Y063Y054)Data(Coils Y070Y064)E5 Function Code:03, Read Holding RegisterHolding Register:08DANumber of Points(max)= 18(for 16 bit register),= 9(for 32 bit register)Read
9、ing Coils T20T27 from slave device 0101 03 06 14 00 08 DA CR LF”01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF”Data Hi(T20)Data Lo(T20)Data Hi(T21)Data Lo(T21)Data Hi(T22)Data Lo(T22)Data Hi(T23)Data Lo(T23)Data Hi(T24)Data Lo(T24)Data Hi(T25)Data Lo(T25)Data Hi(T26)Data Lo(T26)Da
10、ta Hi(T27)Data Lo(T27)C805, Force Single CoilCoil Address Hi Coil Address Lo Force Data HiFFForce Data LoF6MMNN = 0xFF00.Coil ONMMNN = 0x0000.Coil OFF Forcing Coil Y000 ON01 05 05 00 FF 00 F6 CR LF”06, Preset Single RegisterRegister Address Hi Register Address Lo Preset Data Hi12Preset Data Lo34ADSe
11、tting Register T0 to 00 0301 06 06 00 12 34 AD CR LF”Register T0 Address Hi Register T0 Address Lo Switch ( c )Case 0:T0Q :01 06 06 00 12 34 AD CR LFCase 1:C001 06 0E 00 12 34 AF CR LFCase 2:C23201 06 0E E8 12 34 56 78 EF CR LFCase 3:D1001 06 10 0A 12 34 99 CR LFCase 4:D100001 06 13 E8 12 34 BA CR L
12、F15, Force Multiple Coils0FQuantity of Coils HiQuantity of Coils Lo0AByte CountError Check (LRC)11Quantity of Coils (max) = 255Setting Coil Y007Y000 = 1100 1101, Y011Y010 = 01.01 0F 05 00 00 0A 02 CD 01 11 CR LF”01 0F 05 00 00 0A E1 CR LF”E116, Preset Multiple RegisterNumber of Register HiNumber of Register LoData HiData LoC6Number of Register(max) = 16(for 16 bit register)= 8(for 8 bit register)Setting Register T0 to 00 0A, T1 to 01 02.01 10 06 00 02 00 04 00 0A 01 02 D6 CR LF”01 10 06 00 00 02 E7 CR LF”Number of Registers HiNumber of Registers LoE7
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1