時間:2017-12-25 10:24:18來源:網絡轉載
1引言
隨著plc在工廠自動化中的廣泛應用,各plc生產商不斷推承出新,功能更加完善,性能更加優異的plc不斷涌現。以德國西門子公司為例,90年代中期,繼s5系列plc之后,就相繼推出了s7系列的plc。該系列plc不僅具有s5系列plc的優點,而且更加注重功能的改進和集成。對于現在應用廣泛的閉環控制、模擬量處理、通信聯網、脈沖輸出等均提供了相應的指令及使用途徑。編程軟件step7為用戶提供了界面友好且功能強大的開發工具。本文擬就s7-200系列plc中cpu214通過與一臺simovert微型主電機驅動器通信來起動、停止電機,以及改變電機的頻率,介紹其特點并給出相應的應用程序流程圖或源程序。
2硬件要求
(1)硬件組成
一臺帶輸入仿真器的s7-200cpu214,一根rs485電纜,一臺微型主電機驅動器和電機;
(2)參數設置
正確地將電機和微型主電機驅動器接好線,并且所用電機和微型主電機驅動器的參數已通過人工設定,且微型主電機驅動器必須設置在遙控方式(p910=1),波特率:19.2kb(p92=7),地址1(p91=1);
(3)接線方式
用一根帶9針陽性插頭的rs485通信電纜接在s7-200cpu214的1、3、8端上,電纜另一端是插孔,分別接到微型主電機驅動器的13、14、15端子上。
3分析及說明
(1)s7-200自由通信口模式
s7-200cpu214與simovert微型主電機驅動器通信是通過s7-200自由通信口模式進行的,使用uss5字協議。輸入仿真器用來初始化發給電機驅動器的命令。用程序監視run/term開關,并選擇相應的協議來設置自由通信口模式的控制字節(smb30);
(2)輸入點分配
i0.0上升沿有效使電機以上次命令的恒定頻率運轉;
i0.2上升沿有效使電機以上次命令的頻率開始變頻運轉;
i0.4上升沿有效停止電機;
i0.5電平有效以1或2倍率改變頻率:
i0.5=“0”:1倍,i0.5=“1”:2倍;
i0.6上升沿有效以1或2倍頻率增量增加電機頻率;
i0.7上升沿有效以1或2倍頻率增量降低電機頻率;
i1.0電平有效控制電機旋轉方向,i1.0=0:電機正轉,i1.0=1:電機反轉;
(3)程序檢測
首先對微型主電機驅動器的發送要計時,如果失敗,允許再試發送,最多可試發送3次。然后,對來自微型主電機驅動器的接收也要計時,在退出發送接收操作之前可重試多達3次。對來自微型主電機驅動器的響應信息要進行有效性校驗(stx,len,adr及bcc),任何被檢測到的錯誤都要進行顯示;
(4)輸出點分配
qb0用來顯示檢測到的錯誤信息,具體顯示含義如下:
“0”表示無錯誤;“1”表示非法的響應(除去壞的bbc);“2”表示壞的bbc;“3”表示發送超時;“4”表示接收超時。
4程序結構
(1)程序結構
整個控制程序由1個主程序(main)、8個子程序(sbr0-7)及4個中斷程序(int0-3)組成。各程序所完成的功能如下:
lmain主程序:監視用于自由通信口/ppi通信切換的run/term開關,尋找輸入信號上升沿作為電機運行命令。
·sbr0設置自由通信口通信:首次掃描時設置自由通信口模式的參數。
·sbr1run子程序:設定電機恒速運轉。
·sbr2ramp子程序:設定電機變速運轉。
·sbr3增加頻率倍率的子程序:增加微型主電機驅動器的輸出頻率。
·sbr4降低頻率倍率的子程序:降低微型主電機驅動器的輸出頻率。
·sbr5stop子程序:停止電機。
·sbr6計算輸出信息的bcc。
·sbr7發送信息,初始化發送定時器。
·int0發送(xmt)中斷處理程序,打開接收器。
·int1發送超時的中斷處理程序,最多試發3次。
·int2接收字符的中斷處理程序。
·int3接收超時的中斷處理程序,最多試收3次。
(2)程序流程圖如圖1所示。
5程序及注釋
由于文章篇幅的限制,在此僅給出與通信有關部分的源程序。
sbr7//初始化xtm及xtm定時器
xmtvb99,0//發送
atch0,9//捕捉xtm發送中斷,并
//調用中斷程序0
movb255,smb34//設置xtm定時器255ms
atch1,10//捕捉xtm定時器中斷,
//并調用中斷1
ret
int0//中斷程序0,xmt發送中斷處理,
//關xmt定時器
dtch10//退出xmt定時器
dtch9//中止xmt事件
movw3,vw204//刷新xmt重試次數
movw14,vw208//響應信息中接收的字符數
movw0,vw215//清bcc累加器
movd&vb114,vd211//設置接收緩沖區指針
atch2,8//捕捉rcv(接收)中斷,并
//調用中斷程序2
atch3,10//捕捉接收定時器中斷,并調
//用中斷程序3
reti
int1//定時器中斷0處理--發送
dtch9//停止xmt(發送)
dtch10//退出定時器
decwvw204//重試次數減1,若為0,且
ldsm1.0//sm1.0=1,則
movb3,vb210
movb3,qb0//用qb0指示發送超時
movw3,vw204//刷新發送重試計數
sm0.0,1//使run、ramp有效
creti//條件返回
xmtvb99,0//重試發送
atch0,9//捕捉xmt中斷,并調用
//中斷程序0
movb255,smb34//設置xmt定時器為避
//免55ms
atch1,10//捕捉定時中斷,并調用
//中斷程序
reti
int2//接受字符處理
movbsmb2,ac0//得到接收字符
xorwac0,vw215//累積bcc
movbac0,*vd211//把接收到的字符送
//入緩沖區
incdvd211//緩沖區指針加1
decwvw208//有待接收的字符總數減1
ldnsm1.0//檢驗是否結束
creti
not
dtch10//退出接收定時器
dtch8//關接收
ab=0,vb216//檢驗已算好的bcc是否為0
not
movb2,vb210//壞的bcc操作碼
movb2,qb0
jmp0
ldb=vb114,16#02//stx第一個字符嗎
ab=vb115,16#0c//長度=12嗎?
ab=vb116,vb102//將信息發往同一從
//設備嗎?
movb0,vb210//操作正確
movb0,qb0
jmp0
ldsm0.0
movb1,vb210//信息中有不對的地方
movb1,qb0
lbl0
movw3,vw206//刷新接收可重試次數
reti
int3//定時器中斷0處理—接收
dtch8//關接收中斷
dtch10//退出接收定時器
decwvw206//重試次數減1,若為0,且
ldsm1.0//sm1.0=1,則
movb4,vb210
movb4,qb0//指示接收超時
movw3,vw206//刷新接收重試次數
sm0。0,1//使run/ramp有效
cret
not
movd&vb114,vd211//設置接收緩沖區指針
movw0,vw215//清bcc累加器
xmtvb99,0//重發送
atchvb0,9//捕捉xmt中斷,并
//調用中斷程序0
movb255,smb34//設置xmt定時器中斷
atch1,10//捕捉定時器中斷,并調
//用中斷程序1
reti
6結束語
雖然此程序只與一臺微型主電機驅動器通信,但可將它擴展用于另外的輸入點,選擇多站通信線路上的某一臺微型主電機驅動器的地址,向它發送命令。另外,這個程序的基本通信結構還可用來發送別的信息給微型主電機驅動器,如監視電流、轉矩等。
標簽:
上一篇:直接驅動旋轉電機及控制優點
下一篇:光纖溫度傳感器的工作原理和...
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31
2025-03-26