1、本例程的係統配置:
(1)安裝STEP 7-MicroWIN SMART確保modbus庫文件未丟(diu) 失。(軟件安裝後自帶庫文件,個(ge) 別在安裝時可能丟(diu) 失庫)
(2)網線一根、S7-200SMART、24V開關(guan) 電源、單頭帶DP接頭的通信電纜。(3)V20變頻器一台。
2. 用通信電纜將S7-200SMART自帶的RS485接口與(yu) V20的RS485接口相連(注意端口連接規則:V20的P+對3、N-對8),如下圖所示:
3.變頻器參數設置:
V20 可以通過選擇連接宏Cn011實現Modbus RTU控製,也可以通過直接更改變頻器參數的方法來實現。參數設置如下表所示:
4.V20常用寄存器說明
5. 上述準備工作完畢,接下來正式編寫(xie) 通信程序
1)初始化ModbusMaster端口:
EN 使能: 必須保證每一掃描周期都被使能(使用 SM0.0) 。Mode 模式: 為(wei) 1 時,使能 Modbus 協議功能;為(wei) 0 時恢複為(wei) 係統 PPI 協議 。Baud 波特率: 支持的通訊波特率為(wei) 4800,9600,19200 。必須與(yu) 變頻器一致。Parity 校驗: 校驗方式選擇 (V20采用偶校驗)
0=無校驗1=奇較驗2=偶較驗
Timeout 超時: 主站等待從(cong) 站響應的時間,以毫秒為(wei) 單位,典型的設置值為(wei) 1000 毫秒(1 秒),隻要保證從(cong) 站有時間響應即可。Done 完成位: 初始化完成,此位會(hui) 自動置1。Error:初始化錯誤代碼。
2) 調用 ModbusRTU 主站讀寫(xie) 功能塊MBUS_MSG,發送一個(ge) Modbus 請求:
寫(xie) 入控製字1:
EN 使能: 同一時刻隻能有一個(ge) 讀寫(xie) 功能(即 MBUS_MSG)使能 。注意:V20對於(yu) 寫(xie) 指令同一時刻隻運行對一個(ge) 保持寄存器操作;讀指令同一時刻最大允許操作125 個(ge) 保持寄存器。First 讀寫(xie) 請求位: 每一個(ge) 新的讀寫(xie) 請求必須使用脈衝(chong) 觸發。Slave 從(cong) 站地址: 可選擇的範圍 1 – 247,填寫(xie) 變頻器實際地址 。RW 請求方式: 0 = 讀, 1 = 寫(xie) 。Count 數據個(ge) 數 通訊的數據個(ge) 數(位或字的個(ge) 數) 。注意: Modbus主站可讀/寫(xie) 的最大數據量為(wei) 120個(ge) 字(是指每一個(ge) MBUS_MSG 指令)。DataPtr 數據指針: 如果是讀指令,讀回的數據放到這個(ge) 數據區中 ;如果是寫(xie) 指令,要寫(xie) 出的數據放到這個(ge) 數據區中 。
Done 完成位:讀寫(xie) 功能完成位,正在發送命令時為(wei) 0,完成後為(wei) 1 。Error 錯誤代碼: 隻有在 Done 位為(wei) 1時,錯誤代碼才有效。常用的控製字:
047E :運行準備047F :正轉啟動0C7F :反轉啟動04FE :故障確認
3)寫(xie) 設定頻率
其它參數通信方法類似,此處不複述。
對於(yu) 斜坡上升時間P1120,從(cong) 寄存器列表中可以看到40322的寄存器的定標係數是100,讀取過來的值為(wei) :VW1310=1000,所以參數P1120=1000/100=10。
6.Modbus錯誤代碼:
Done 完成位:讀寫(xie) 功能完成位Error 錯誤代碼: 隻有在 Done 位為(wei) 1時,錯誤代碼才有效