當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC手冊 >> PLC編程手冊 >> 可編程控制器在微電機(jī)控制中的應(yīng)用
可編程控制器在微電機(jī)控制中的應(yīng)用

1  引言
    隨著PLC在工廠自動(dòng)化中的廣泛應(yīng)用,各PLC生產(chǎn)商不斷推承出新,功能更加完善,性能更加優(yōu)異的PLC不斷涌現(xiàn)。以德國西門子公司為例,90年代中期,繼S5系列PLC之后,就相繼推出了S7系列的PLC。該系列PLC不僅具有S5系列PLC的優(yōu)點(diǎn),而且更加注重功能的改進(jìn)和集成。對于現(xiàn)在應(yīng)用廣泛的閉環(huán)控制、模擬量處理、通信聯(lián)網(wǎng)、脈沖輸出等均提供了相應(yīng)的指令及使用途徑。編程軟件STEP 7為用戶提供了界面友好且功能強(qiáng)大的開發(fā)工具。本文擬就S7-200系列PLC中CPU214通過與一臺(tái)SIMOVERT微型主電機(jī)驅(qū)動(dòng)器通信來起動(dòng)、停止電機(jī),以及改變電機(jī)的頻率,介紹其特點(diǎn)并給出相應(yīng)的應(yīng)用程序流程圖或源程序。

2  硬件要求
(1) 硬件組成
一臺(tái)帶輸入仿真器的S7-200 CPU214,一根RS 485電纜,一臺(tái)微型主電機(jī)驅(qū)動(dòng)器和電機(jī);
(2) 參數(shù)設(shè)置
正確地將電機(jī)和微型主電機(jī)驅(qū)動(dòng)器接好線,并且所用電機(jī)和微型主電機(jī)驅(qū)動(dòng)器的參數(shù)已通過人工設(shè)定,且微型主電機(jī)驅(qū)動(dòng)器必須設(shè)置在遙控方式(P910=1),波特率:19.2kB(P92=7),地址1(P91=1);
(3) 接線方式
用一根帶9針陽性插頭的RS 485通信電纜接在S7-200 CPU214的1、3、8端上,電纜另一端是插孔,分別接到微型主電機(jī)驅(qū)動(dòng)器的13、14、15端子上。

3 分析及說明
(1) S7-200自由通信口模式
S7-200 CPU214與SIMOVERT微型主電機(jī)驅(qū)動(dòng)器通信是通過S7-200自由通信口模式進(jìn)行的,使用USS5字協(xié)議。輸入仿真器用來初始化發(fā)給電機(jī)驅(qū)動(dòng)器的命令。用程序監(jiān)視RUN/TERM開關(guān),并選擇相應(yīng)的協(xié)議來設(shè)置自由通信口模式的控制字節(jié)(SMB30);
(2) 輸入點(diǎn)分配
I0.0 上升沿有效 使電機(jī)以上次命令的恒定頻率運(yùn)轉(zhuǎn);
I0.2 上升沿有效 使電機(jī)以上次命令的頻率開始變頻運(yùn)轉(zhuǎn);
I0.4 上升沿有效 停止電機(jī);
I0.5 電平有效 以1或2倍率改變頻率:
I0.5=“0”:1倍,I0.5=“1”:2倍;
I0.6 上升沿有效 以1或2倍頻率增量增加電機(jī)頻率;
I0.7 上升沿有效 以1或2倍頻率增量降低電機(jī)頻率;
I1.0 電平有效 控制電機(jī)旋轉(zhuǎn)方向,I1.0=0:電機(jī)正轉(zhuǎn),I1.0=1:電機(jī)反轉(zhuǎn);
(3) 程序檢測
    首先對微型主電機(jī)驅(qū)動(dòng)器的發(fā)送要計(jì)時(shí),如果失敗,允許再試發(fā)送,最多可試發(fā)送3次。然后,對來自微型主電機(jī)驅(qū)動(dòng)器的接收也要計(jì)時(shí),在退出發(fā)送接收操作之前可重試多達(dá)3次。對來自微型主電機(jī)驅(qū)動(dòng)器的響應(yīng)信息要進(jìn)行有效性校驗(yàn)(STX,LEN,ADR及BCC),任何被檢測到的錯(cuò)誤都要進(jìn)行顯示;
(4) 輸出點(diǎn)分配
QB0用來顯示檢測到的錯(cuò)誤信息,具體顯示含義如下:
“0”表示無錯(cuò)誤;“1”表示非法的響應(yīng)(除去壞的BBC);“2”表示壞的BBC;“3”表示發(fā)送超時(shí);“4”表示接收超時(shí)。

4  程序結(jié)構(gòu)
(1) 程序結(jié)構(gòu)
整個(gè)控制程序由1個(gè)主程序(MAIN)、8個(gè)子程序(SBR 0-7)及4個(gè)中斷程序(INT 0-3)組成。各程序所完成的功能如下:
l MAIN 主程序:監(jiān)視用于自由通信口/PPI通信切換的RUN/TERM開關(guān),尋找輸入信號(hào)上升沿作為電機(jī)運(yùn)行命令。
? SBR0 設(shè)置自由通信口通信:首次掃描時(shí)設(shè)置自由通信口模式的參數(shù)。
?SBR1 RUN子程序:設(shè)定電機(jī)恒速運(yùn)轉(zhuǎn)。
?SBR2 RAMP子程序:設(shè)定電機(jī)變速運(yùn)轉(zhuǎn)。
? SBR3 增加頻率倍率的子程序:增加微型主電機(jī)驅(qū)動(dòng)器的輸出頻率。
?SBR4 降低頻率倍率的子程序:降低微型主電機(jī)驅(qū)動(dòng)器的輸出頻率。
?SBR5 STOP子程序:停止電機(jī)。
?SBR6 計(jì)算輸出信息的BCC。
?SBR7 發(fā)送信息,初始化發(fā)送定時(shí)器。
? INT0 發(fā)送(XMT)中斷處理程序,打開接收器。
? INT1 發(fā)送超時(shí)的中斷處理程序,最多試發(fā)3次。
?INT2 接收字符的中斷處理程序。
? INT3 接收超時(shí)的中斷處理程序,最多試收3次。
(2) 程序流程圖如圖1所示。

[NextPage]
圖1     程序流程圖

5  程序及注釋
由于文章篇幅的限制,在此僅給出與通信有關(guān)部分的源程序。
SBR    7 //初始化XTM及XTM定時(shí)器
XMT   VB99,0 //發(fā)送
ATCH  0,9   //捕捉XTM發(fā)送中斷,并
  //調(diào)用中斷程序0
MOVB  255,SMB34    //設(shè)置XTM定時(shí)器255MS
ATCH 1,10    //捕捉XTM定時(shí)器中斷,
  //并調(diào)用中斷1
RET
INT   0   //中斷程序0,XMT發(fā)送中斷處理,
      //關(guān)XMT定時(shí)器
DTCH  10     //退出XMT定時(shí)器
DTCH   9     //中止XMT事件
MOVW  3,VW204  //刷新XMT重試次數(shù)
MOVW  14,VW208 //響應(yīng)信息中接收的字符數(shù)
MOVW  0,VW215  //清BCC累加器
MOVD &VB114,VD211 //設(shè)置接收緩沖區(qū)指針
ATCH  2,8      //捕捉RCV(接收)中斷,并
      //調(diào)用中斷程序2
ATCH  3,10    //捕捉接收定時(shí)器中斷,并調(diào)
     //用中斷程序3
RETI
INT  1   //定時(shí)器中斷0處理--發(fā)送
DTCH   9    //停止XMT(發(fā)送)
DTCH   10   //退出定時(shí)器
DECW  VW204   //重試次數(shù)減1,若為0,且
LD      SM1.0     //SM1.0=1,則
MOVB  3,VB210
MOVB  3,QB0    //用QB0指示發(fā)送超時(shí)
MOVW 3,VW204  //刷新發(fā)送重試計(jì)數(shù)
S      M0.0,1   //使RUN、RAMP有效
CRETI //條件返回
XMT   VB99,0  //重試發(fā)送
ATCH  0,9    //捕捉XMT中斷,并調(diào)用
     //中斷程序0
MOVB  255,SMB34  //設(shè)置XMT定時(shí)器為避
   //免55mS
ATCH   1,10 //捕捉定時(shí)中斷,并調(diào)用
   //中斷程序
RETI
INT     2     //接受字符處理
MOVB  SMB2,AC0   //得到接收字符
XORW  AC0,VW215 //累積BCC

[NextPage]
MOVB  AC0,*VD211 //把接收到的字符送
    //入緩沖區(qū)
INCD   VD211 //緩沖區(qū)指針加1
DECW   VW208     // 有待接收的字符總數(shù)減1
LDN    SM1.0      //檢驗(yàn)是否結(jié)束
CRETI
NOT
DTCH   10  //退出接收定時(shí)器
DTCH    8   //關(guān)接收
AB=    0,VB216   //檢驗(yàn)已算好的BCC是否為0
NOT
MOVB  2,VB210  //壞的BCC操作碼
MOVB  2,QB0   
JMP    0
LDB=  VB114,16#02   // STX第一個(gè)字符嗎
AB=   VB115,16#0C  //長度=12嗎?
AB=   VB116,VB102   //將信息發(fā)往同一從
      //設(shè)備嗎?
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      //定時(shí)器中斷0處理—接收
DTCH  8      //關(guān)接收中斷
DTCH  10    //退出接收定時(shí)器
DECW VW206     //重試次數(shù)減1,若為0,且
LD    SM1.0 //SM1.0=1,則
MOVB 4,VB210
MOVB  4,QB0     //指示接收超時(shí)
MOVW  3,VW206  //刷新接收重試次數(shù)
S M0。0,1   //使RUN/RAMP有效
CRET
NOT
MOVD  &VB114,VD211  //設(shè)置接收緩沖區(qū)指針
MOVW  0,VW215     //清BCC累加器
XMT    VB99,0 //重發(fā)送
ATCH   VB0,9 //捕捉XMT中斷,并
     //調(diào)用中斷程序0
MOVB  255,SMB34   //設(shè)置XMT定時(shí)器中斷
ATCH  1,10  //捕捉定時(shí)器中斷,并調(diào)
   //用中斷程序1
RETI

6  結(jié)束語
    雖然此程序只與一臺(tái)微型主電機(jī)驅(qū)動(dòng)器通信,但可將它擴(kuò)展用于另外的輸入點(diǎn),選擇多站通信線路上的某一臺(tái)微型主電機(jī)驅(qū)動(dòng)器的地址,向它發(fā)送命令。另外,這個(gè)程序的基本通信結(jié)構(gòu)還可用來發(fā)送別的信息給微型主電機(jī)驅(qū)動(dòng)器,如監(jiān)視電流、轉(zhuǎn)矩等。

 


作者:未知 點(diǎn)擊:925次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:可編程控制器在微電機(jī)控制中的應(yīng)用
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請《可編程控制器在微電機(jī)控制中的應(yīng)用》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

吳小姐 【求購】  粉碎機(jī)  2025-12-5
 【求購】  冶煉用的重...  2025-12-5
柳女士 【求購】  斷路器  2025-12-5
林志揚(yáng) 【求購】  無石棉墊片  2025-12-4
張一帆 【求購】  首件測試儀  2025-12-4
王飛 【求購】  gf流量計(jì)  2025-12-4
 【求購】  全自動(dòng)印刷...  2025-12-4
 【求購】  LED屏  2025-12-3
VIP公司推薦