按此在新窗口瀏覽圖片

      技術(shù)頻道

      S系列I/O前端與PLC的連接

      按此在新窗口瀏覽圖片
      S系列I/O前端與可編程控制器的連接

      一、概述
      PLC(可編程控制器)應(yīng)用廣泛,其CPU功能較強(qiáng),可靠性高,但在輸入輸出I/O方面,PLC存在價(jià)格過高,擴(kuò)展模塊不隔離,輸入信號還要進(jìn)行編程運(yùn)算來完成采集,品牌繁多,互不兼容,用戶使用起來不方便等缺點(diǎn)。我公司研制生產(chǎn)的S系列I/O前端具有模入(AI)、模出(AO)、開入(DI)、開出(DO)等功能;規(guī)格多樣;工程量值輸出;RS485通訊接口;靈活的通訊協(xié)議;擴(kuò)展簡捷;價(jià)格低廉。但在復(fù)雜控制等應(yīng)用場合較PLC就有所欠缺,而PLC的優(yōu)勢恰恰在此。S系列I/O前端可以方便地與各種PLC構(gòu)成秒級的多點(diǎn)數(shù)據(jù)采集和控制系統(tǒng),并可更快捷地融入已有的采集控制系統(tǒng)當(dāng)中,大大降低系統(tǒng)工程費(fèi)用。二者結(jié)合可以彌補(bǔ)各自的缺陷,使系統(tǒng)達(dá)到良好的性價(jià)比。
      下面以西門子S7-200(CPU226)和S系列I/O前端連接所構(gòu)成的采集控制系統(tǒng)為例,展示這種方案的優(yōu)勢所在:
      1. S系列I/O前端與PLC的接口程序軟件由我公司編寫并無償提供給用戶,用戶只要將該段程序嵌入自己的程序中即可。用戶在PLC編程中或在上位機(jī)讀寫S系列I/O前端的輸入輸出數(shù)據(jù)時(shí),只和PLC中的I/O數(shù)據(jù)映射區(qū)(位于V區(qū)內(nèi))打交道,大大減少了用戶工作量和編程復(fù)雜程度。
      2. 采用PLC的自由通訊口與S系列I/O前端連接(RS485總線),方便地?cái)U(kuò)展至少32個(gè)模塊。
      3. 擴(kuò)展系統(tǒng)AI/AO點(diǎn)最多達(dá)512點(diǎn),DI/DO點(diǎn)最多達(dá)1024點(diǎn),極大的拓展了PLC的I/O點(diǎn)數(shù)。
      4. 現(xiàn)場獨(dú)立安裝,擴(kuò)展靈活,多樣,調(diào)試方便。
      5. 模擬量為直接工程量值,無需編程運(yùn)算完成采集及輸出。
      6. 具有通道與通道之間隔離,現(xiàn)場與計(jì)算機(jī)隔離特性。
      7. 利用PLC的CPU豐富資源,使整套系統(tǒng)具有可編程及PID等控制功能,并可脫離上位機(jī)獨(dú)立運(yùn)行。
      8. 利用PLC的通訊擴(kuò)展模塊,使系統(tǒng)簡捷地接入以太網(wǎng)絡(luò)及PROFIBUS-DP總線網(wǎng)絡(luò)。
      9. 特別適合于各種場合的秒級采集控制應(yīng)用。
      二、連接要點(diǎn)及注意事項(xiàng)
      ● S7-200(CPU226)具有兩個(gè)RS485通訊口,通訊口1(PORT0)與上位機(jī)相連;通訊口2(PORT1)以自由口方式與S系列I/O前端的RS485通訊線相連。
      ● 通訊口2(PORT1)通訊速率為38400 bps,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)。
      ● 通訊方式為主從式,PLC為主,S系列I/O前端為從。
      ● PLC與S系列I/O前端的通訊電纜連接對應(yīng)表
      PLC的9針插頭------------S系列I/O前端的接線端子
      3 ------------ 37 (RS485 A )
      5 ------------ 35 (RS485 地)
      8 ------------ 36 (RS485 B )
      ● 用戶在使用之前應(yīng)將S系列I/O前端的站址設(shè)置好,并將通訊速率設(shè)置為38400 bps,通信協(xié)議為S_PLC。
      ● 如果有多個(gè)(N個(gè))S系列I/O前端,站址應(yīng)從01開始,依次至N為止,連續(xù)不得跳躍。
      ● 通訊協(xié)議(參見后面說明)的具體細(xì)節(jié)用戶可忽略。S系列I/O前端與PLC的接口程序名為S_PLC 。
      ● PLC將對各S系列I/O前端不停進(jìn)行循環(huán)采集及控制輸出,1秒之內(nèi)即可將32個(gè)S系列I/O前端采集或輸出控制完畢。
      ● 采集及輸出控制單元皆存放于固定V變量區(qū),由用戶讀取或?qū)懭耄M信號讀取或?qū)懭敫袷綖镮NT)。占用V區(qū)空間從V3900起始,占用1124字節(jié),即到V5024結(jié)束 ,其中V3900~3933為連接S系列I/O前端定義前端個(gè)數(shù)及型號定義區(qū);V4000~V5024為S系列I/O前端輸入輸出數(shù)據(jù)映射區(qū),每個(gè)I/O前端分配32個(gè)字節(jié),連接32個(gè)前端時(shí)共計(jì)為1024 字節(jié)(參見I/O數(shù)據(jù)映射區(qū)說明)。
      三、連接程序說明
      S系列I/O前端與 S7-200(CPU226)的連接程序(程序名稱為S_PLC)包含一個(gè)主程序,8個(gè)子程序和3個(gè)中斷服務(wù)程序。3個(gè)中斷服務(wù)程序分別是端口1(PORT1)接受信息完成中斷(事件號為24)、端口1(PORT1)發(fā)送字符中斷(事件號為26)、定時(shí)中斷0(事件號為10,定時(shí)中斷時(shí)間間隔寄存器為SMB34)。
      主程序(MAIN)進(jìn)行通訊口2(PORT1)的初始化,并觸發(fā)發(fā)送字符中斷,啟動S7-200(CPU226)對S系列I/O前端的通訊。當(dāng)與一個(gè)S系列I/O前端通訊完成后,由接收中斷程序自動啟動與下一個(gè)站址S系列I/O前端的通訊,如此循環(huán)往復(fù)。定時(shí)中斷0程序是對發(fā)送字符和接收信息完成中斷超時(shí)(>50ms)的處理,該程序?qū)⑼V箤@兩個(gè)中斷的響應(yīng)并啟動下一個(gè)站址的S系列I/O前端的通訊工作。
      用戶只要將該段主程序(MAIN)嵌入自己的主程序中,將余下的子程序和中斷服務(wù)程序置入用戶系統(tǒng)程序中,然后修改USER_SET子程序,根據(jù)所需連I/O前端的個(gè)數(shù)及型號定義V3900~3933變量區(qū)即可。
      主程序及其說明如下:
      Network1
      LD SM0.1 //首次掃描
      DTCH 24 //關(guān)接收中斷
      DTCH 26 //關(guān)發(fā)送中斷
      DTCH 10 //關(guān)超時(shí)中斷
      MOVD +0,VD3996 //清除32個(gè)站的超時(shí)標(biāo)志
      MOVB 16#01,SMB130 //初始化PORT1口為自由口,通訊速率=38400 bps,
      CALL USER_SET //調(diào)用用戶初始系統(tǒng)子程序
      CALL FIRST_SET //系統(tǒng)第一次運(yùn)行初始化
      ENI //啟動中斷
      CALL FILL_COMMAND //發(fā)送取數(shù)據(jù)命令
      CALL GET_FCS1 //求命令校驗(yàn)碼
      Network2
      LD SM0.0
      CALL GO_PATH //啟動循環(huán)
      四、連接I/O定義區(qū)說明
      1.連接S系列I/O前端個(gè)數(shù)定義單元:  VB3900 1 字節(jié) (用戶設(shè)置)
      2.站址連接S系列I/O前端型號定義單元: VB3902~VB3933 32 字節(jié) (用戶設(shè)置)
      每個(gè)站址所連接的S系列I/O前端的型號均由一個(gè)字節(jié)定義,VB3902為01號站址對應(yīng)連接S系列I/O前端型號定義單元 ,VB3933為32號站址對應(yīng)連接S系列I/O前端型號定義單元,用戶通過修改USER_SET子程序完成對VB3900及 VB3902~VB3933等定義單元的更改。
      各型S系列I/O前端對應(yīng)代碼如下:
      ◆ S1104=0 S1204=0
      ◆ S1108=1 S1208=1
      ◆ S1116=2 S1216=2
      ◆ S1316=6
      ◆ S1332=7
      ◆ S1416=8
      ◆ S1504=9
      五、I/O數(shù)據(jù)映射區(qū)說明
      I/O數(shù)據(jù)映射區(qū): VB4000 1024 字節(jié)(每站占32字節(jié)) (用戶讀寫)
      以第1號站址為例,起始I/O數(shù)據(jù)映射區(qū)地址為VB4000;(第N號站址I/O數(shù)據(jù)映射區(qū)起始地址為VB4000+(N-1)×32)
      ◆ S1104,S1204
      4個(gè)模擬量輸出占前8個(gè)字節(jié) (VW4000) 讀 字
      ◆ S1108,S1208
      8個(gè)模擬量輸出占前16個(gè)字節(jié) (VW4000) 讀 字
      ◆ S1116,S1216
      16個(gè)模擬量輸出占前32個(gè)字節(jié) (VW4000) 讀 字
      ◆ S1316
      A: 16個(gè)開關(guān)量輸入占前 2 字節(jié) (VB4000) 讀
      B: 8 個(gè)開關(guān)量輸出占第 3 字節(jié) (VB4002) 寫
      C: 8 個(gè)線圈狀態(tài)占第 4 字節(jié) (VB4003) 讀
      ◆ S1332
      32個(gè)開關(guān)量輸入占前 4 字節(jié) (VB4000) 讀
      ◆ S1416
      A: 16個(gè)開關(guān)量輸出占前 2 字節(jié) (VB4000) 寫
      B: 16個(gè)線圈狀態(tài)占后 2 字節(jié) (VB4002) 讀
      ◆ S1504
      A: 8 個(gè)開關(guān)量輸出占第 1 字節(jié) (VB4000) 寫
      B: 8 個(gè)線圈狀態(tài)占第 2 字節(jié) (VB4001) 讀
      C: 4個(gè)模擬量輸出從第 3 字節(jié)開始,占8 字節(jié) (VW4002) 寫 字
      D: 4個(gè)保持寄存器從第 11字節(jié)開始,占8 字節(jié) (VW4010) 讀 字
      六、占用PLC軟件和硬件的資源
      1.占用軟件資源
      主程序兩個(gè)節(jié)點(diǎn),三個(gè)中斷服務(wù)程序,8個(gè)子程序。三個(gè)中斷為:
      ●端口1(PORT1)接受信息完成中斷(事件號為24)。
      ●端口1(PORT1)發(fā)送字符中斷(事件號為26)。
      ●定時(shí)中斷0(事件號為10,定時(shí)中斷時(shí)間間隔寄存器為SMB34)。
      2.占用硬件資源
      ●占用程序空間:大約2500字節(jié)。
      ●占用V區(qū):V3900~V5024。
      ●時(shí)間間隔寄存器為SMB34。
      ●端口1(PORT1)
      七、S_PLC協(xié)議說明
      該協(xié)議除了校驗(yàn)碼,其他同MODBUS協(xié)議。MODBUS協(xié)議的校驗(yàn)碼為兩個(gè)字節(jié)CRC校驗(yàn)碼,S_PLC協(xié)議變成1個(gè)字節(jié)FCS校驗(yàn)碼加一個(gè)字節(jié)FF。FCS校驗(yàn)碼為所命令或返回?cái)?shù)據(jù)按字節(jié)異或后的結(jié)果。
      八、USER_SET子程序舉例說明
      該例子為PLC連接5個(gè)S系列I/O前端時(shí),修改USER_SET子程序例子,其中第一個(gè)前端(站址為01)型號為S1116,第二個(gè)前端(站址為02)型號為S1216,第三個(gè)前端(站址為03)型號為S1316,第四個(gè)前端(站址為04)型號為S1416,第五個(gè)前端(站址為05)型號為S1504。具體設(shè)置如下程序:
      Network1
      LD SM0.0
      MOVB +5,VB3900 // 系統(tǒng)站址個(gè)數(shù)(S系列I/O前端個(gè)數(shù))
      MOVB +2,VB3902 // 01號站址對應(yīng)S系列I/O前端型號為S1116
      MOVB +2,VB3903 // 02號站址對應(yīng)S系列I/O前端型號為S1216
      MOVB +6,VB3904 // 03號站址對應(yīng)S系列I/O前端型號為S1316
      MOVB +8,VB3905 // 04號站址對應(yīng)S系列I/O前端型號為S1416
      MOVB +9,VB3906 // 05號站址對應(yīng)S系列I/O前端型號為S1504

      九、用戶應(yīng)用舉例說明
      該例子示范了用戶如何將S_PLC程序和自己的軟件結(jié)合在一起。
      首先用戶將S_PLC程序中的主程序并入自己的主程序中(Network1和Network2是S_PLC 程序,Network3以下為用戶應(yīng)用程序,見以下程序);將余下的子程序拷入用戶自己的項(xiàng)目程序中即可。用戶要根據(jù)自己實(shí)際工況來修改USER_SET子程序(參見上述章節(jié))。
      Network1
      LD SM0.1 //首次掃描
      DTCH 24 //關(guān)接收中斷
      DTCH 26 //關(guān)發(fā)送中斷
      DTCH 10 //關(guān)超時(shí)中斷
      MOVD +0,VD3996 //清除32個(gè)站的超時(shí)標(biāo)志
      MOVB 16#01,SMB130 //初始化PORT1口為自由口,通訊速率=38400 bps,
      CALL USER_SET //調(diào)用用戶初始系統(tǒng)子程序
      CALL FIRST_SET //系統(tǒng)第一次運(yùn)行初始化
      ENI //啟動中斷
      CALL FILL_COMMAND //發(fā)送取數(shù)據(jù)命令
      CALL GET_FCS1 //求命令校驗(yàn)碼

      Network2
      LD SM0.0
      CALL GO_PATH //啟動循環(huán)

      Network3 //用戶應(yīng)用程序
      LD SM0.0
      MOVW VW4000,AC0
      MOVW AC0,VW1000 //將S1116(一號站)的第一通道測量值放入VW1000
      MOVW 16#2500,VW4128 //置入S1504(五號站)的第一模擬量輸出值


      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 一区二区三区在线观看视频| 日本不卡在线一区二区三区视频| 久久99久久无码毛片一区二区| 中文字幕在线精品视频入口一区| 国产日产久久高清欧美一区| 色妞色视频一区二区三区四区| 国产一区二区三区精品视频| 国产伦精品一区二区三区在线观看| 国产99久久精品一区二区| 国产精品第一区第27页| 国产人妖视频一区二区破除| 在线成人一区二区| 亚洲无圣光一区二区 | 日韩一区二区精品观看| 无码人妻aⅴ一区二区三区| 精品视频一区二区三区四区| 91午夜精品亚洲一区二区三区| 日韩人妻无码一区二区三区99| 国产日韩精品一区二区三区在线| 日韩国产一区二区| 一区二区三区免费精品视频| 一区二区三区高清在线| 一区二区三区杨幂在线观看| a级午夜毛片免费一区二区| 在线视频一区二区三区三区不卡| 国产韩国精品一区二区三区| 中文字幕在线精品视频入口一区 | 色老头在线一区二区三区| 国产成人AV一区二区三区无码| 高清国产AV一区二区三区| 亚洲国产综合无码一区 | 国产精品亚洲一区二区在线观看| 亚洲va乱码一区二区三区| 国产乱码一区二区三区| 亚洲丶国产丶欧美一区二区三区| 在线观看视频一区二区| 亚洲国产一区明星换脸| 看电影来5566一区.二区| 色噜噜狠狠一区二区| 狠狠做深爱婷婷久久综合一区| 四虎永久在线精品免费一区二区|