小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

S7-1200與邁凱諾變頻器進行modbus RTU進行通訊

 阿明哥哥資料區(qū) 2019-05-24
JZGKCHINA

一、組態(tài)PLC

打開博圖V15軟件,新建項目,進行PLC的硬件組態(tài),在CPU的左側(cè)添加CM1241 modbusRTU通訊模塊。

二、組態(tài)通訊端口

雙擊CM1241 modbusRTU通訊模塊,在下方“RS422/485接口”選項下,點擊“端口組態(tài)”,右側(cè)設置如下:協(xié)議---自由口;操作模式--半雙工(RS4852線制模式;接收線路初始狀態(tài)--無;波特率--9600、奇偶校驗--無、數(shù)據(jù)位--8/字符、停止位--1;其余默認;如圖1、圖2所示: 

圖1

圖2

三、設置CPU系統(tǒng)和時鐘存儲器

雙擊CPU,點擊“系統(tǒng)和時鐘存儲器”,點擊右側(cè)“啟用系統(tǒng)存儲器字節(jié)”和“啟用時鐘存儲器字節(jié)”,用于編程時使用首次掃描位和時鐘脈沖;如圖3

圖3

四、新建讀寫數(shù)據(jù)塊

新建讀寫全局數(shù)據(jù)塊DB3、DB5,數(shù)據(jù)塊里新建數(shù)據(jù)類型為UINT的數(shù)組;如圖4

圖4

五、編寫modbusRTU初始化程序

在OB1里,編寫modbusRTU初始化程序,點擊右側(cè)“通信”--“通信處理器”--MODBUS(RTU)--Modbus_Comm_Load,拖拽到程序段1中,自動生成背景數(shù)據(jù)塊;

Modbus_Comm_Load模塊的引腳說明:

EN--使能端,一直使能;

REQ--只在第一次掃描周期為1,且必須是上升沿觸發(fā);

PORT--指定CM1241模塊的硬件標識符(標注方法:如圖7

BAUD--指定通訊波特率(9600);

PARITY--指定奇偶校驗位(0--無校驗)

MB_DB--指向主站生成的背景數(shù)據(jù)塊的MB_DB參數(shù);

輸出引腳指定地址即可,如圖6

注意:在左側(cè)“程序塊”--“系統(tǒng)塊”--“程序資源”下拉列表中,雙擊Modbus_Comm_Load的背景數(shù)據(jù)塊,Modbus_Comm_Load_DB,修改第19MODE的數(shù)值,由默認值修改為16#04;如圖8

0=全雙工(RS232;

1=全雙工(RS422)四線制模式(點對點);

2=全全雙工(RS422)四線制模式(多點主站,CM PtPET200SP));

3=全全雙工(RS422)四線制模式(多點從站,CM PtPET200SP));

4=半雙工(RS485)二線制模式;

圖6

圖7

圖8

六、編寫主站程序(讀指令)

在OB1里,編寫modbusRTU主站程序,點擊右側(cè)“通信”--“通信處理器”--MODBUS(RTU)--Modbus_Master,拖拽到程序段2中,自動生成背景數(shù)據(jù)塊;

Modbus_Master模塊的引腳說明:

EN--使能端,一直使能;

REQ--上升沿觸發(fā);

MB_ADDR--從站地址;

MODE--讀或?qū)懼噶睿?span>0是讀指令,1是寫指令);

DATA_ADDR--從站的起始地址(需將從站的地址由16進制轉(zhuǎn)換為10進制,轉(zhuǎn)換成10進制后,數(shù)據(jù)加1(因為從站地址是從0開始的,而PLC的地址是從1開始的,所以要加1));

DATA_LAN--指定讀取的數(shù)據(jù)長度(即一下讀取幾個數(shù)據(jù));

DATA_PTR--指定讀取的數(shù)據(jù)存放到此數(shù)組中;

輸出引腳指定地址即可,如圖9

圖9

圖9程序解析:

從站地址:

1000--頻率給定(只寫);

1001--運行頻率(只讀);

1002--母線電壓(只讀);

1003--輸出電壓(只讀);

1004--輸出電流(只讀);

1001H轉(zhuǎn)成10進制是4097,4097+1=4098;

所以此程序就是用4號功能碼讀取從站地址為1的從4098(從站從4097)開始的4個數(shù)據(jù)(運行頻率、母線電壓、輸出電壓、輸出電流),存放到數(shù)據(jù)塊_1(DB3)的第一個變量的數(shù)組里(對應關(guān)系是一一對應的,即DB3.DBW0是運行頻率,DB3.DBW2是母線電壓,DB3.DBW4是輸出電壓,DB3.DBW6是輸出電流),也就是說在上位機或監(jiān)控里監(jiān)控時,只要寫DB3.DBW0DB3.DBW2、DB3.DBW4DB3.DBW6即可;

七、編寫主站程序(寫指令)

同第六項讀指令一樣,只是將MODE改為1即可;如圖10

圖10

圖10程序解析:

從站地址:

2000--變頻啟動停止指令(只寫);

2000地址=1:正轉(zhuǎn)運行;

2000地址=2:反轉(zhuǎn)運行;

2000地址=3:正轉(zhuǎn)點動;

2000地址=4:反轉(zhuǎn)點動;

2000地址=5:自由停機;

2000地址=6:減速停機;

2000地址=7:故障復位;

2000H轉(zhuǎn)成10進制是8192,8192+1=8193;

所以此程序就是用4號功能碼向從站地址為1的從8193(從站從48192)開始的1個數(shù)據(jù)寫數(shù)據(jù)(變頻器啟??刂疲?,存放到數(shù)據(jù)塊_2(DB5)的第一個變量的數(shù)組里(對應關(guān)系是一一對應的,即DB5.DBW0是啟停信號,即DB5.DBW0=1時變頻器正轉(zhuǎn),DB5.DBW0=6時變頻器減速停機),也就是說在上位機或監(jiān)控里寫命令時,只要將DB5.DBW0數(shù)值寫成0~7即可;

八、輪詢

當一個CM 1241帶很多從站時,或者帶一個從站,但是一個從站里需要多次用到讀或?qū)懼噶顣r,就需要用輪詢的方式來讀寫,不能同時對多個Modbus_Master模塊進行讀寫;

輪詢程序如圖11~圖16

圖11

圖12

圖13

圖14

圖15

圖16

九、運行監(jiān)控畫面:

給定頻率32.6Hz

圖17

十、停機監(jiān)控畫面

給定頻率32.6Hz,停機指令6(減速停機)

圖18

歡迎給作者打賞

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多