台达DVP系列PLC通讯协议 |
|
发布时间:2007-2-15 10:04:53 |
台達DVP系列PLC通訊協定 版本1.01. 通訊介面RS-232C2. 通訊協定ASCII模式, 9600(傳輸速率), 偶同位, 1個起始位元,1個停止位元
3. 通訊資料格式
n ADR(通訊位址)
PLC通訊位址出廠設定值為0x01,因此(ADR 1, ADR 0)=’0’,’1’ð’0’=30H, ‘1’ = 31H
n LRC CHK(偵誤值)CMD(命令指令)及DATA(資料字元)
u LRC CHK(偵誤值)
偵錯方式採用LRC(Longitudinal Redundancy Check)偵誤值。LRC偵誤值乃是將ADR1至最後一個資料內容加總,將該值取2補數(2’s Complement)得到之結果即為LRC偵誤值。
例:
01H+03H+04H+01H+00+01H = 0AH
0AH的2補數為 F6H
註
1
2補數的求法:(1補數再加1)
0A(H) = 0000 1010(B)先取1補數(將b0~b7反相)得1111 0101(B),再加1為 1111 0110(B) = F6(H)即為0A(H)的2補數。
註
2
因此在收到一串完整的通訊命令,要檢查這串通訊命令是否有誤,只要將(ADR1,0)至(LRC1,0)加總等於0,則通訊無誤,否則表示命令中資料有些是錯誤的。
通訊異常PLC的回應:
PLC收到完整的通訊命令時,會判斷命令是否有效,造成無效的原因有:
例:使用命令碼 01讀取X000~X017的狀態
PLC回應:
因為Address 0400對Function 01是不合法的,所以回應Exception code = 0x02,且Function 01被設為81(b7被設為1),亦即由回應的Function code的 MSB被設為1表示PLC回應ERROR MESSAGE,並且由Exception code可得知是何種錯誤。
u 可用之命令碼敘述如下:(每個device的address, 請參考最後一頁)
u 資料字元之格式依命令碼而定,依可用之命令碼的資料內容分別敘述如下:
Function Code
:
01, Read Coil Status
Number of Points(max) = 255 = 0x00FF
Example:Reading Coils T20~T56 from slave device 01
PC→PLC “:01 01 06 14 00 25 BF CR LF”
PLC→PC “:01 01 05 CD 6B B2 0E 1B D6 CR LF”
n
Function Code
:
02, Read Input Status
Example:Reading Contact Y024~Y070 from slave device 01
PC→PLC “:01 02 05 14 00 25 BF CR LF”
PLC→PC “:01 01 05 CD 6B B2 0E 1B E5 CR LF”
n
Function Code
:
03, Read Holding Register
Holding Register:T, C, D
Number of Points(max)
= 18(for 16 bit register)
= 9(for 32 bit register)
Example:Reading Coils T20~T27 from slave device 01
PC→PLC “:01 03 06 14 00 08 DA CR LF”
PLC→PC “:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF”
n
Function Code
:
05, Force Single Coil
MMNN = 0xFF00….Coil ON
MMNN = 0x0000….Coil OFF
Example:Forcing Coil Y000 ON
PC→PLC “:01 05 05 00 FF 00 F6 CR LF”
PLC→PC “:01 05 05 00 FF 00 F6 CR LF”
n
Function Code
:
06, Preset Single Register
Example:Setting Register T0 to 00 03
PC→PLC “:01 06 06 00 12 34 AD CR LF”
PLC→PC “:01 06 06 00 12 34 AD CR LF”
Switch ( c )
Case 0:T0
Q →:01 06 06 00 12 34 AD CR LF
Case 1:C0
Q →:01 06 0E 00 12 34 AF CR LF
Case 2:C232
Q →:01 06 0E E8 12 34 56 78 EF CR LF
Case 3:D10
Q →:01 06 10 0A 12 34 99 CR LF
Case 4:D1000
Q →:01 06 13 E8 12 34 BA CR LF
n
Function Code
:
15, Force Multiple Coils
Quantity of Coils (max) = 255
Example:Setting Coil Y007…Y000 = 1100 1101, Y011…Y010 = 01.
PC→PLC “:01 0F 05 00 00 0A 02 CD 01 11 CR LF”
PLC→PC “:01 0F 05 00 00 0A E1 CR LF”
n
Function Code
:
16, Preset Multiple Register
Number of Register(max)
= 16(for 16 bit register)
= 8(for 8 bit register)
Example:Setting Register T0 to 00 0A, T1 to 01 02.
PC→PLC “:01 10 06 00 02 00 04 00 0A 01 02 D6 CR LF”
PLC→PC “:01 10 06 00 00 02 E7 CR LF”
n
Function Code
:
17, Report Slave ID
Returns a description of controller present at the slave address, the current status of the slave Run indicator, and other information specific to the slave device.
DELTA DVP Series PLC DEVICE ADDRESS
|