新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S7-300與Carrier冷凍機的Modbus串行通訊

        S7-300與Carrier冷凍機的Modbus串行通訊

        作者: 時間:2016-12-20 來源:網絡 收藏

          cp340有三種接口方式,包括rs232c,rs422/rs485和20ma tty接口。本例中按carriermodbus網關的要求選擇了rs422/rs485接口形式。

        5 cp340硬件組態

         ?。?)安裝驅動:安裝cp340的驅動光盤,安裝后可以對cp340進行硬件配置,可以調用cp340的發送、接收功能塊fb3、fb2。

         ?。?)新建項目:打開西門子編程軟件step7,選擇菜單“file”→“new”新建一個項目,在“name”中輸入項目名稱。

         ?。?)組態s7-300站:插入一個“simatic300

          station”,然后對硬件進行組態,按安裝次序依次插入機架、電源、cpu和cp340。

          (4)組態串行通信模塊參數:雙擊“cp340”欄,在彈出界面中點擊“parameter”按鈕,進入參數化界面,選擇ascii驅動,雙擊“protocol”欄,進入ascii參數化界面(見圖1),在endid of receive message frame 欄中,選擇用兩個字符的間隔時間來判斷報文是否結束(on expiry ofdelay time),字符延長時間為20ms。在speed格中傳輸速率選擇9600bit/s。在“characerframe‘欄中選擇數據位8位,停止位1位、無校驗,與冷凍機的modbus網關設置相同。

         ?。?)模式選擇:進入interface界面(見圖2),把操作模式選擇為half duplex(rs485) two-wiremode。表示此通信運行在rs485半雙工模式。

        6 軟件編程

          硬件組態完成后,接下來就進行軟件編程,在ob1中調用fb3發送程序塊。

          call fb 3,db22

          req :=m0.0

          r :=

          laddr :=256

          db-n0 :=10

          len :=8

          done :=

          error :=

          status :=

          引腳說明:

          req:發送請求,每個上升沿發送一幀數據

          r:復位請求

          laddr:cp340的邏輯地址(硬件組態中的地址)

          db_no:指定發送區(db塊)

          dbb_no:指定發送區在db中的起始字節

          len:發送字節的長度

          done:發送完成輸出一個脈沖

          error:發送失敗輸出1

          status:狀態字

          此程序的功能為,當m0.0每個上升沿的時候把數據塊db10中的前8個字節的數據從cp340的通信口發出,數據內如表2所示。

          該發送數據包內容可以解釋為,請求讀取站地址為16#b的通信處理器中從16#4100開始的22個寄存器中的數據。即前面提到的網關變量表中的內容。

          圖中byte7(db10.dbb6),byte8(db10.dbb8)兩個字節是crc校驗字,crc校驗的步驟如下:

          (1)裝載16#ffff到一個16位crc寄存器;

         ?。?)將crc寄存器的高8位字節與信息中的第一個8位字節相異或,結果返回到crc寄存器中;

         ?。?)將crc寄存器數據向右移動一位;

          (4)如果溢出的位等于1,則將crc寄存器與16#a001相異或,結果返回到crc寄存器中;

         ?。?)如果溢出的位等于0,則重復第3步;

         ?。?)重復第3、4步驟,直到已經移位了8次;

         ?。?)將crc寄存器的高8位字節與信息中的下一個8位字節相異或,結果返回到crc寄存器中;

         ?。?)重復第3步到第6步,直到信息中所有字節都與crc寄存器相異或,并都移位了8次;

         ?。?)最后的crc寄存器中的結果即為crc校驗碼,最后被添加到信息(數據)的末尾(交換!低8位在前,高8位在后?。?P>



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 共和县| 潮州市| 禄丰县| 高尔夫| 西城区| 柞水县| 宁阳县| 叶城县| 鲁甸县| 奉贤区| 巧家县| 和政县| 阿尔山市| 定结县| 阿鲁科尔沁旗| 女性| 濮阳县| 措勤县| 丹寨县| 印江| 吴堡县| 绿春县| 恩平市| 诸城市| 阜南县| 芜湖县| 石嘴山市| 清镇市| 钟山县| 慈溪市| 塔城市| 增城市| 镇沅| 云浮市| 北宁市| 监利县| 神木县| 五大连池市| 隆子县| 平罗县| 塘沽区|