你的位置:首頁 > 電源管理 > 正文

可編程控制器在微電機控制中的應用和流程

發(fā)布時間:2019-01-18 責任編輯:xueqi

【導讀】本文擬就s7-200系列plc中cpu214通過與一臺simovert微型主電機驅動器通信來起動、停止電機,以及改變電機的頻率,介紹其特點并給出相應的應用程序流程圖或源程序。
 
1引言
 
隨著plc在工廠自動化中的廣泛應用,各plc生產(chǎn)商不斷推承出新,功能更加完善,性能更加優(yōu)異的plc不斷涌現(xiàn)。以德國西門子公司為例,90年代中期,繼s5系列plc之后,就相繼推出了s7系列的plc。該系列plc不僅具有s5系列plc的優(yōu)點,而且更加注重功能的改進和集成。
 
對于現(xiàn)在應用廣泛的閉環(huán)控制、模擬量處理、通信聯(lián)網(wǎng)、脈沖輸出等均提供了相應的指令及使用途徑。編程軟件step7為用戶提供了界面友好且功能強大的開發(fā)工具。本文擬就s7-200系列plc中cpu214通過與一臺simovert微型主電機驅動器通信來起動、停止電機,以及改變電機的頻率,介紹其特點并給出相應的應用程序流程圖或源程序。
 
2硬件要求
 
(1) 硬件組成
一臺帶輸入仿真器的s7-200 cpu214,一根rs 485電纜,一臺微型主電機驅動器和電機。
 
(2) 參數(shù)設置
正確地將電機和微型主電機驅動器接好線,并且所用電機和微型主電機驅動器的參數(shù)已通過人工設定,且微型主電機驅動器必須設置在遙控方式(p910=1),波特率:19.2kb(p92=7),地址1(p91=1)。 
 
(3) 接線方式
用一根帶9針陽性插頭的rs 485通信電纜接在s7-200cpu214的1、3、8端上,電纜另一端是插孔,分別接到微型主電機驅動器的13、14、15端子上。
 
3分析及說明
 
(1) s7-200自由通信口模式
s7-200cpu214與simovert微型主電機驅動器通信是通過s7-200自由通信口模式進行的,使用uss5字協(xié)議。輸入仿真器用來初始化發(fā)給電機驅動器的命令。用程序監(jiān)視run/term開關,并選擇相應的協(xié)議來設置自由通信口模式的控制字節(jié)(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) 程序檢測
首先對微型主電機驅動器的發(fā)送要計時,如果失敗,允許再試發(fā)送,最多可試發(fā)送3次。然后,對來自微型主電機驅動器的接收也要計時,在退出發(fā)送接收操作之前可重試多達3次。對來自微型主電機驅動器的響應信息要進行有效性校驗(stx,len,adr及bcc),任何被檢測到的錯誤都要進行顯示。
 
(4) 輸出點分配
qb0用來顯示檢測到的錯誤信息,具體顯示含義如下:
“0”表示無錯誤;“1”表示非法的響應(除去壞的bbc);“2”表示壞的bbc;“3”表示發(fā)送超時;“4”表示接收超時。
 
4程序結構
 
(1) 程序結構
整個控制程序由1個主程序(main)、8個子程序(sbr 0-7)及4個中斷程序(int 0-3)組成。各程序所完成的功能如下:
l main 主程序:監(jiān)視用于自由通信口/ppi通信切換的run/term開關,尋找輸入信號上升沿作為電機運行命令。
·sbr0 設置自由通信口通信:首次掃描時設置自由通信口模式的參數(shù)。
·sbr1 run子程序:設定電機恒速運轉。
·sbr2 ramp子程序:設定電機變速運轉。
·sbr3 增加頻率倍率的子程序:增加微型主電機驅動器的輸出頻率。
·sbr4 降低頻率倍率的子程序:降低微型主電機驅動器的輸出頻率。
·sbr5 stop子程序:停止電機。
·sbr6 計算輸出信息的bcc。
·sbr7 發(fā)送信息,初始化發(fā)送定時器。
·int0 發(fā)送(xmt)中斷處理程序,打開接收器。
·int1 發(fā)送超時的中斷處理程序,最多試發(fā)3次。
·int2 接收字符的中斷處理程序。
·int3 接收超時的中斷處理程序,最多試收3次。
 
(2) 程序流程圖如圖1所示
 
圖1:程序流程圖
 
5程序及注釋
 
由于文章篇幅的限制,在此僅給出與通信有關部分的源程序。
sbr 7 //初始化xtm及xtm定時器
xmt vb99,0 //發(fā)送
atch 0,9 //捕捉xtm發(fā)送中斷,并
//調(diào)用中斷程序0
movb 255,smb34 //設置xtm定時器255ms
atch 1,10 //捕捉xtm定時器中斷,
//并調(diào)用中斷1
ret
int 0 //中斷程序0,xmt發(fā)送中斷處理,
//關xmt定時器
dtch 10 //退出xmt定時器
dtch 9 //中止xmt事件
movw 3,vw204 //刷新xmt重試次數(shù)
movw 14,vw208 //響應信息中接收的字符數(shù)
movw 0,vw215 //清bcc累加器
movd &vb114,vd211 //設置接收緩沖區(qū)指針
atch 2,8 //捕捉rcv(接收)中斷,并
//調(diào)用中斷程序2
atch 3,10 //捕捉接收定時器中斷,并調(diào)
//用中斷程序3
reti
int 1 //定時器中斷0處理--發(fā)送
dtch 9 //停止xmt(發(fā)送)
dtch 10 //退出定時器
decw vw204 //重試次數(shù)減1,若為0,且
ld sm1.0 //sm1.0=1,則
movb 3,vb210
movb 3,qb0 //用qb0指示發(fā)送超時
movw 3,vw204 //刷新發(fā)送重試計數(shù)
s m0.0,1 //使run、ramp有效
creti //條件返回
xmt vb99,0 //重試發(fā)送
atch 0,9 //捕捉xmt中斷,并調(diào)用
//中斷程序0
movb 255,smb34 //設置xmt定時器為避
//免55ms
atch 1,10 //捕捉定時中斷,并調(diào)用
//中斷程序
reti
int 2 //接受字符處理
movb smb2,ac0 //得到接收字符
xorw ac0,vw215 //累積bcc
movb ac0,*vd211 //把接收到的字符送
//入緩沖區(qū)
incd vd211 //緩沖區(qū)指針加1
decw vw208 // 有待接收的字符總數(shù)減1
ldn sm1.0 //檢驗是否結束
creti
not
dtch 10 //退出接收定時器
dtch 8 //關接收
ab= 0,vb216 //檢驗已算好的bcc是否為0
not
movb 2,vb210 //壞的bcc操作碼
movb 2,qb0
jmp 0
ldb= vb114,16#02 // stx第一個字符嗎
ab= vb115,16#0c //長度=12嗎?
ab= vb116,vb102 //將信息發(fā)往同一從
//設備嗎?
movb 0,vb210 //操作正確
movb 0,qb0
jmp 0
ld sm0.0
movb 1,vb210 //信息中有不對的地方
movb 1,qb0
lbl 0
movw 3,vw206 //刷新接收可重試次數(shù)
reti
int 3 //定時器中斷0處理—接收
dtch 8 //關接收中斷
dtch 10 //退出接收定時器
decw vw206 //重試次數(shù)減1,若為0,且
ld sm1.0 //sm1.0=1,則
movb 4,vb210
movb 4,qb0 //指示接收超時
movw 3,vw206 //刷新接收重試次數(shù)
s m0。0,1 //使run/ramp有效
cret
not
movd &vb114,vd211 //設置接收緩沖區(qū)指針
movw 0,vw215 //清bcc累加器
xmt vb99,0 //重發(fā)送
atch vb0,9 //捕捉xmt中斷,并
//調(diào)用中斷程序0
movb 255,smb34 //設置xmt定時器中斷
atch 1,10 //捕捉定時器中斷,并調(diào)
//用中斷程序1
reti
 
6結束語
 
雖然此程序只與一臺微型主電機驅動器通信,但可將它擴展用于另外的輸入點,選擇多站通信線路上的某一臺微型主電機驅動器的地址,向它發(fā)送命令。另外,這個程序的基本通信結構還可用來發(fā)送別的信息給微型主電機驅動器,如監(jiān)視電流、轉矩等。
要采購電機驅動器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉