一、海為PLC通訊特點:
1、內置多種通訊協議:Haiwell PLC各種型號的主機都內置Modbus RTU/ASCII協議、自由通訊協議以及海為公司的HaiwellBus高速通訊協議;
2、通訊端口可擴展:Haiwell PLC各種型號的主機均自帶2個通訊口(一個為RS-232,另一個為RS-485),用通訊擴展模塊可擴展至5個通訊口,每個通訊端口均可用于用于編程和聯網,通訊端口相互獨立,均可作為主站也可作產從站;
3、極為便利的通訊指令系統:使您無論使用何種通訊協議都只需一條通訊指令便可完成復雜的通訊功能,編程簡單而程序簡潔,無須再為通訊端口沖突、發送接收控制、通訊中斷處理等問題煩惱,可以在程序中混合使用各種協議輕松完成您所需的各種數據交換;
二、富士變頻器通訊協議介紹
富士變頻器采用富士專用的通訊協議,根據富士變頻器說明書與通訊有關的主要參數如下:
H30:連接功能選擇,需要設定為3
H31:RS485地址,需要設定為2
H34:通訊傳送速度(波特率),設定為0,19200
H35:數據長度,設定為0,8位
H36:奇偶校驗,設定為0,無
H37:停止位,設定為0,2位
富士專用的通訊協議有關命令格式如下圖,詳細通訊協議請參考富士變頻器通訊協議手冊。
其中:SOH=01,ENQ=05,P=20,ETX=03
三、海為PLC與富士變頻器通訊程序
因為富士變頻器采用富士專用的通訊協議,所以海為PLC采用COMM自由通訊協議與其通訊。
例子完成5項操作命令,變頻器地址設為2,通訊格式19200,8,N,2
1、正轉運行:
根據富士變頻器說明書,正轉運行命令ASCII為: SOH 0 2 ENQ f 0 0 0 1 ETX 9 1,轉換成ASCII(16進制)為01 30 32 05 66 30 30 30 31 03 39 31,共12字節,該命令返回8字節。
命令串放在初始寄存器值表“正轉運行命令”中(V1000-V1011,見下圖),采用COMM.LB指令只發送低字節方式發送數據。
2、停止:
根據富士變頻器說明書,停止運行命令ASCII為: SON 0 2 ENQ f 0 0 0 0 ETX 9 0,轉換成ASCII(16進制)為01 30 32 05 66 30 30 30 30 03 39 30,共12字節,該命令返回8字節。
命令串放在初始寄存器值表“停止命令”中(V1015-V1026,見下圖),采用COMM.LB指令只發送低字節方式發送數據。
3、反轉運行:
根據富士變頻器說明書,反轉運行命令ASCII為: SON 0 2 ENQ f 0 0 0 2 ETX 9 2,轉換成ASCII(16進制)為01 30 32 05 66 30 30 30 32 03 39 32,共12字節,該命令返回8字節。
命令串放在初始寄存器值表“反轉運行命令”中(V1030-V1041,見下圖),采用COMM.LB指令只發送低字節方式發送數據。
4、設定運行頻率:
根據富士變頻器說明書,設定運行頻率命令ASCII為: SON 0 2 ENQ W S 0 5 SP 4位頻率數據 ETX 2位校驗和,轉換成ASCII(16進制)為01 30 32 05 57 53 30 35 20 00 00 00 00 03 00 00,共16字節,該命令返回16字節。
4位頻率數據和2位校驗和因為會根據設定不同頻率而變化,需要在程序中組禎運算。
命令串放在初始寄存器值表“頻率設定命令”中(V1050-V1065,見下圖),采用COMM.LB指令只發送低字節方式發送數據。
5、讀取當前運行頻率:
根據富士變頻器說明書,讀取當前運行頻率命令ASCII為: SON 0 2 ENQ R M 0 9 SP 0 0 0 0 ETX 5 2,轉換成ASCII(16進制)為01 30 32 05 52 4D 30 39 20 30 30 30 30 03 35 32,共16字節,該命令返回16字節。
命令串放在初始寄存器值表“頻率讀取命令”中(V1070-V1085,見下圖),采用COMM.LB指令只發送低字節方式發送數據。
四、仿真調試程序
如果沒有富士變頻器和海為PLC該如何仿真調試程序呢?仿真調試完全可以驗證該程序是否正確運行。
對于正轉/停止/反轉命令,因為其命令是固定的,只要是完全按照富士變頻器通訊手冊的說明正確定義了“正轉運行命令”“停止命令”“反轉運行命令”這3個初始寄存器值表,就可以與富士變頻器正確通訊。
對于設定運行頻率命令的仿真,在仿真狀態下強制V1100的值=4000(40.00Hz),強制M3為ON,然后在“地址狀態表”中監控命令串(V1050-V1065)中值的內容,根據富士變頻器通訊手冊,如果設定頻率為40.00Hz,正確的命令串(16進制)為01 30 32 05 57 53 30 35 20 30 46 41 30 0338 30,如下圖:
對于讀取當前運行頻率的仿真,因為其命令是固定的,只要是完全按照富士變頻器通訊手冊的說明正確定義了“頻率讀取命令”初始寄存器值表,就可以與富士變頻器正確通訊。因此仿真的目的在于驗證從返回的數據中獲得當前運行頻率值是否正確。
在仿真狀態下通過強制V80-V87共8個寄存器的值以模擬變頻器返回的數據,假如當前運行頻率值=3000(30.00Hz),正確的返回數據應該是數據串(16進制)為01 30 32 06 52 4D 30 39 20 30 42 42 38 03 37 46,因此強制V80-V87如下值
V80=3001H、V81=0632H、V82=4D52H、V83=3930H
V84=3020H、V85=4242H、V86=0338H、V87=4637H