以前我們講過關(guān)于自由口通訊的實例,今天我們講一下自由口通訊配合中斷的實例。
在一些特定場合,比如說與松下系列伺服驅(qū)動器的控制時,為了保證數(shù)據(jù)的安全,我們需要進行多次往返的數(shù)據(jù)交換,這就需要嚴(yán)格控制通訊的時間。那么這個時候?qū)τ?a target="_blank">PLC來說通訊就是最重要的,所以我們需要打斷PLC的正常功能,優(yōu)先處理通訊,這就需要通訊中斷。
實例:2臺S7-200 SMART CPU(端口0)采用自由口通信方式實現(xiàn)相互通信
(本文僅為展示自由口通訊和中斷,如果想要實現(xiàn)這兩個PLC的通訊其實最好是使用向?qū)нM行以太網(wǎng)通訊,有機會我們也會進行講解!)
通信任務(wù):CPU1 每秒觸發(fā)一次 XMT 指令將 CPU 的實時時鐘發(fā)送到 CPU2;CPU2 接收到 CPU1 發(fā)送的信息后立即將 CPU2 的實時時鐘回復(fù)到 CPU1。
接線:每個 S7-200 SMART CPU 都提供一個以太網(wǎng)端口和一個 RS485 端口(端口0),標(biāo)準(zhǔn)型 CPU 額外支持 SB CM01 信號板(端口1),信號板可通過 STEP 7-Micro/WIN SMART 軟件組態(tài)為 RS232 通信端口或 RS485 通信端口。
CPU 通信端口引腳分配
1、CPU1 編程
1.1、CPU1 主程序編程如圖 所示:
CPU1主程序
程序講解:
1. 設(shè)置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位數(shù)據(jù)位,無校驗)。
2. 設(shè)置 SMB87 = 2#10010100,使用空閑線檢測為信息接收的起始條件,使用字符間定時器為信息接收的結(jié)束條件。
3. 設(shè)置空閑線定時器 SMW90 = 5 ms,字符間定時器 SMW92 = 5 ms,允許最大接收字符個數(shù) SMB94 = 10。
4. 連接中斷子程序 INT_0 到通信端口 0 發(fā)送完成事件,并啟用中斷。
5. 每秒鐘讀取一次 CPU 的實時時鐘,并將發(fā)送緩沖區(qū)長度設(shè)置為 8 個字符。
6. 執(zhí)行 XMT 指令之前設(shè)置 SM87.7 = 0,同時執(zhí)行 RCV 指令,終止消息接收。
7. 每秒鐘執(zhí)行一次 XMT 指令將 CPU 的實時時鐘發(fā)送出去。
1.2、 CPU1 發(fā)送完成中斷子程序 INT_0 編程
中斷子程序INT_0用于恢復(fù) SMB87 的設(shè)置(SM87.7 = 1),并執(zhí)行 RCV 指令開始接收 CPU2的應(yīng)答信息。程序如圖4. 所示:
CPU1 中斷子程序 INT_0
2、CPU2 編程
2.1、CPU2 主程序編程如圖所示:
CPU2主程序
1. 設(shè)置 SMB30 = 2#00001001 (自由口通信,波特率 9600 bps,8 位數(shù)據(jù)位,無校驗)。
2. 設(shè)置 SMB87 = 2#10010100,使用空閑線檢測為信息接收的起始條件,使用字符間定時器為信息接收的結(jié)束條件。
3. 設(shè)置空閑線定時器 SMW90 = 5 ms,字符間定時器 SMW92 = 5 ms,允許最大接收字符個數(shù) SMB94 = 10。
4. 連接中斷子程序 INT_0 到通信端口 0 接收完成事件,中斷子程序 INT_1 到通信端口 0 發(fā)送完成事件,并啟用中斷。
5. 使用 SM0.1 調(diào)用 RCV 指令地執(zhí)行。
2.2、 CPU2 接收完成中斷子程序 INT_0 編程
中斷子程序INT_0用于讀取 CPU 實時時鐘,并調(diào)用 XMT 指令將實時時鐘信息發(fā)送出去。程序如圖所示。
CPU2 接收完成中斷子程序 INT_0
2.3、 CPU2 發(fā)送完成中斷子程序 INT_1 編程
中斷子程序 INT_1 用于執(zhí)行 RCV 指令,并開始新的信息接收任務(wù)。程序如圖 7.所示。
CPU2 發(fā)送完成中斷子程序 INT_0
審核編輯:湯梓紅
-
plc
+關(guān)注
關(guān)注
5012文章
13314瀏覽量
463807 -
cpu
+關(guān)注
關(guān)注
68文章
10873瀏覽量
212030 -
西門子
+關(guān)注
關(guān)注
94文章
3042瀏覽量
115977 -
中斷
+關(guān)注
關(guān)注
5文章
899瀏覽量
41531
原文標(biāo)題:西門子PLC自由口通訊+中斷,這么用很方便!
文章出處:【微信號:中泰PLC自動化教學(xué),微信公眾號:中泰PLC自動化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
S7-200 SMART PLC網(wǎng)絡(luò)通信
winCC modbus TCP方式與S7-200 SMART PLC通信視頻教程免費下載
![winCC modbus TCP<b class='flag-5'>方式</b>與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC<b class='flag-5'>通信</b>視頻教程免費下載](https://file.elecfans.com/web1/M00/7D/45/o4YBAFwKFhyAGvvjAAEbnMJbDXU256.png)
如何在S7-200 CPU上實現(xiàn)Modbus RTU從站通信協(xié)議
S7-200 SMART與調(diào)試助手之間TCP通信
PC與S7-200系列PLC通信的連接
S7-200 SMART如何下載程序?
S7-1200 CPU與S7-200 SMART S7通信
![<b class='flag-5'>S7</b>-1200 <b class='flag-5'>CPU</b>與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> <b class='flag-5'>S7</b><b class='flag-5'>通信</b>](https://file1.elecfans.com/web2/M00/82/83/wKgaomRV-QWALGYSAAA5gisFFHQ987.png)
S7-1500與S7-200 SMART的PROFINET IO通信配置
![<b class='flag-5'>S7</b>-1500與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的PROFINET IO<b class='flag-5'>通信</b>配置](https://file1.elecfans.com/web2/M00/8B/DE/wKgZomShGHyAUvasAAARJrqv7hs672.jpg)
S7-200SMART之間進行PROFINET IO通信技術(shù)分析
![<b class='flag-5'>S7-200SMART</b>之間進行PROFINET IO<b class='flag-5'>通信</b>技術(shù)分析](https://file1.elecfans.com/web2/M00/8D/8A/wKgaomS80O-AWROuAAAQ0WB7maE653.jpg)
評論