1、引言
目前,一般常見 plc 型號都沒有集成現(xiàn)場總線 can-bus 的通訊功能接口,因而不便于基于 can 總線多臺 plc 控制網(wǎng)絡(luò)的實(shí)現(xiàn)。隨著應(yīng)用技術(shù)的發(fā)展,工業(yè)經(jīng)常會出現(xiàn)需要 n 臺 plc 協(xié)同完成一個(gè)系統(tǒng)的綜合控制。此時(shí),原有集中控制的單一 plc 控制方案就顯得力所不及,plc 網(wǎng)絡(luò)的集成工程需求也應(yīng)運(yùn)而生。
本文提出了一種基于現(xiàn)場總線 can-bus 的 plc 網(wǎng)絡(luò)方案,能夠?qū)Χ嗯_聯(lián)網(wǎng)的 plc 實(shí)現(xiàn)遠(yuǎn)程配置、數(shù)據(jù)通信,并能夠在投入較低硬件成本的基礎(chǔ)上,實(shí)現(xiàn)良好的系統(tǒng)運(yùn)行性能。這個(gè)方案不僅充分發(fā)揮了現(xiàn)場總線 can-bus 的通信特點(diǎn):實(shí)時(shí)、可靠、高速、遠(yuǎn)距離、易維護(hù)等,而且將現(xiàn)場總線技術(shù)與集中控制技術(shù)有機(jī)結(jié)合,聯(lián)網(wǎng)后的 plc 網(wǎng)絡(luò)可以構(gòu)成一個(gè)性能優(yōu)越的 dcs 系統(tǒng);用戶在同一個(gè)主控制器(pc 機(jī))上可以遠(yuǎn)程監(jiān)控、改變?nèi)魏我慌_聯(lián)網(wǎng) plc 的程序或狀態(tài)。
2、 組建 plc 網(wǎng)絡(luò)的兩種方式
通用 plc 一般提供 1~2 個(gè) rs-232 或 rs-485 通訊端口,用于與其他控制設(shè)備通訊;這些通訊端口支持有限的通訊協(xié)議,實(shí)現(xiàn) plc 設(shè)備的通訊與配置。本項(xiàng)目利用 plc 自身的通訊端口,將其擴(kuò)展成為能夠與多臺設(shè)備聯(lián)網(wǎng),實(shí)現(xiàn)基于現(xiàn)場總線 can-bus 多臺 plc 網(wǎng)絡(luò)。根據(jù)網(wǎng)絡(luò)中主控制器的不同,plc 網(wǎng)絡(luò)分為以下方式:多臺 plc 聯(lián)網(wǎng),各 plc 地位平等,可外擴(kuò) hmi 人機(jī)界面;多臺 plc 聯(lián)網(wǎng),由 1 臺工控 pc 作為主控制器與操作界面。本文重點(diǎn)討論兩種基于 rs-232 或 rs-485 通訊端口 plc 的組網(wǎng)方法。
2.1 plc 串行聯(lián)網(wǎng)
通過 rs-232/rs-485 轉(zhuǎn) can-bus 網(wǎng)關(guān)進(jìn)行信號轉(zhuǎn)換使 plc 具有 can-bus 通訊接口。多臺具有 can-bus 通訊接口的 plc 之間相互連接,即可以組建 plc 網(wǎng)絡(luò)。每臺連接 plc 單元的 rs-232/rs-485 轉(zhuǎn) can-bus 網(wǎng)關(guān)都可以設(shè)定一個(gè)獨(dú)立的設(shè)備 id 號,長度為 11 位或 29 位,用作為該 plc 單元的地址。
通過上述方式組建的 plc 網(wǎng)絡(luò),任何一臺 plc 均可以主動發(fā)起數(shù)據(jù)通訊,由 can-bus 網(wǎng)關(guān)起硬件自動仲裁作用,保障每一次通訊的數(shù)據(jù)不丟失;網(wǎng)絡(luò)中的 plc 數(shù)量不受限制,數(shù)百、上千臺 plc 都可以連接在同一現(xiàn)場總線 can-bus 網(wǎng)絡(luò)中。同時(shí),plc 網(wǎng)絡(luò)中可以連接具有 can-bus 通訊接口的 hmi 人機(jī)界面。
2.2 多臺 plc 與工控 pc 并行聯(lián)網(wǎng)
工控 pc 機(jī)內(nèi)插 pci-can 板卡(如研華的 pci1680、周立功的 pci5110 等),可以組建 can-bus 網(wǎng)絡(luò),通過連接在 can-bus 網(wǎng)絡(luò)中的網(wǎng)關(guān) rs-232/rs-485 轉(zhuǎn) can-bus 轉(zhuǎn)換器,借助于 can-bus 網(wǎng)絡(luò)配套的“虛擬串口”軟件,建立多達(dá) 2047 個(gè)標(biāo)準(zhǔn)的串行通訊端口,從而連接多達(dá) 2047 條串行網(wǎng)絡(luò)。即在一條普通雙絞線上連接多達(dá) 2047 臺 plc 設(shè)備,工控 pc 機(jī)訪問連接在 can-bus 網(wǎng)絡(luò)上的 plc 設(shè)備,與操作標(biāo)準(zhǔn)串口完全一致。這種方式可以充分發(fā)揮工控 pc 機(jī)的作用,通訊效率比較高,是一般 plc 網(wǎng)絡(luò)建設(shè)的主流方向。本文采用此種方案組建 plc 網(wǎng)絡(luò)。系統(tǒng)結(jié)構(gòu)如圖 1 所示。
圖 1 多臺 plc 與工控 pc 機(jī)并行聯(lián)網(wǎng)
plc 網(wǎng)絡(luò)的硬件組成與連接
建立 plc 網(wǎng)絡(luò),除了 plc 設(shè)備,還需要建立現(xiàn)場總線 can-bus 網(wǎng)絡(luò)的設(shè)備,主要有 rs-232 轉(zhuǎn) can-bus 網(wǎng)關(guān)、pci-can 接口卡等。
rs-232 轉(zhuǎn) can-bus 轉(zhuǎn)換器可以方便地連接到 plc 設(shè)備的 rs-232 標(biāo)準(zhǔn)通訊端口,使 plc 設(shè)備具有與現(xiàn)場總線 can-bus 網(wǎng)絡(luò)通訊的能力。轉(zhuǎn)換器通過 modbus 協(xié)議轉(zhuǎn)換,可以支持不同通訊協(xié)議的 plc 設(shè)備。對于只集成 rs-485/422 通訊端口的 plc 設(shè)備,可以選擇 rs-485 轉(zhuǎn) can-bus 轉(zhuǎn)換器。rs-232 轉(zhuǎn) can 轉(zhuǎn)換器和 rs-485 轉(zhuǎn) can 轉(zhuǎn)換器讀者可以自行設(shè)計(jì),也可以購買目前市場成熟的產(chǎn)品,如研華的亞當(dāng)模塊、周立功的智能轉(zhuǎn)換模塊等。
工控 pc 機(jī)內(nèi)插 pci-can 接口卡,可以令工控 pc 機(jī)具有現(xiàn)場總線 can-bus 通訊接口,從而成為 can-bus 網(wǎng)絡(luò)中的一個(gè)主要功能節(jié)點(diǎn)。根據(jù)與 pc 連接方式的不同,pc-can 接口卡可以分為很多種不同的類型,常見的型號有 pci-can 接口卡、isa-can 接口卡、pc104-can 接口卡、usbcan 接口卡、以太網(wǎng)轉(zhuǎn) can 接口卡等。
pci-can 接口卡一般都提供有 can-bus 測試工具、api 開發(fā)例程、opc 服務(wù)器軟件等。利用“虛擬串口服務(wù)器”軟件可以開發(fā)基于串口通訊的軟件項(xiàng)目,組建基于 can 總線的 plc 網(wǎng)絡(luò)。
4、 三菱-西門子 can 網(wǎng)絡(luò)集成案例
4.1 原理設(shè)計(jì)
在某印染廠的印染控制系統(tǒng)中,有兩臺瑞士布賽 5v 型平網(wǎng)印花機(jī)、三臺臺灣奇正平網(wǎng)印花機(jī)、2 臺日本東升平網(wǎng)印花機(jī)以及 2 臺兩臺德國的 mbk 圓網(wǎng)印花機(jī),這些設(shè)備的主控制器是西門子的 s7-200 以及日本三菱的 fx 系列的 plc。為了使印染廠的印染控制系統(tǒng)能夠在一臺上進(jìn)行監(jiān)控以及控制,單臺 plc 進(jìn)行現(xiàn)場設(shè)備信號的采集和控制,由于各個(gè)現(xiàn)場 plc 工作點(diǎn)距離較遠(yuǎn)遠(yuǎn),工控機(jī) pc 不可能實(shí)現(xiàn)每一臺 plc 設(shè)備的單獨(dú)電纜連接。因此,將各臺 plc 設(shè)備通過現(xiàn)場總線 can-bus 網(wǎng)絡(luò)連接,組建一個(gè)地區(qū)范圍內(nèi)的 plc 網(wǎng)絡(luò),從而實(shí)現(xiàn) plc 遠(yuǎn)程維護(hù)、數(shù)據(jù)實(shí)時(shí)監(jiān)控,既能夠大大提高系統(tǒng)的管理效率,也可以有效地降低網(wǎng)絡(luò)建設(shè)成本。
每臺平網(wǎng)印花機(jī) plc 設(shè)備集成有 1 個(gè) rs-4852 串行通訊端口,通過 can 轉(zhuǎn) rs-485 轉(zhuǎn)換器連接到現(xiàn)場總線 can-bus 網(wǎng)絡(luò)。工控機(jī) pc 內(nèi)置 1 塊 pci-can 接口卡,型號為 pci-1680 接口卡,可以使工控機(jī)成為 can-bus 網(wǎng)絡(luò)中的節(jié)點(diǎn),能夠同時(shí)管理九臺平網(wǎng)印花機(jī)。
plc 串行通訊協(xié)議實(shí)現(xiàn),不同廠家,plc 的串行通訊協(xié)議不同,本就以本項(xiàng)目所用的 s7-200 為例說明其通訊方法。s7-200 系列 plc 配有 rs-485 標(biāo)準(zhǔn)串行接口,可實(shí)現(xiàn)下列四種網(wǎng)絡(luò)的連接:
?。?) simatic s7-200 網(wǎng)絡(luò)(ppi 協(xié)議);
?。?) 用戶可編程接口協(xié)議(自由口模式)采用可編程自由口通信模式(free port mode);
?。?) profibus-dp 網(wǎng)絡(luò)。
4.2 系統(tǒng)通訊
本項(xiàng)目采用自由口通訊的模式,與自由口模式有關(guān)的特殊寄存器及相關(guān)的位:
(1) 控制字寄存器 smb30:s7-200plc 的通信模式由 smb30 設(shè)置,當(dāng) mm=01 時(shí) plc 工作于自由口模式。
?。?) 通信接收字符緩沖器 smb2:smb2 是一個(gè)暫態(tài)寄存器,用于存放在自由口通信方式下接收到的當(dāng)前字符,用戶在下一步應(yīng)從這里取走其中的內(nèi)容,通過編程控制將接收到的字符一個(gè)一個(gè)由 smb2 移入接收緩沖區(qū)。
?。?) 通信校驗(yàn)結(jié)果標(biāo)志位 smb3.0:plc 按 smb30 規(guī)定的奇偶校驗(yàn)方式對所接收到的數(shù)據(jù)作校驗(yàn)。如果校驗(yàn)有錯,plc 自動將 smb3.0 置 1,sm3.0=0 表示奇偶校驗(yàn)正確。根據(jù)這個(gè)標(biāo)志,可決定對當(dāng)前信息的取舍,還可以在出錯的情況下,將此錯誤位發(fā)送給對方,以便要求它重發(fā)。
?。?) 工作方式標(biāo)志位 sm0.7:s7-200 系列 plc 只有處于運(yùn)行(run)方式時(shí)才能進(jìn)行自由口模式通信,而在停止(stop) 方式時(shí)只能以 ppi 模式通信。當(dāng) plc 處于 run 方式時(shí) sm0.7=1,否則 sm0.7=0,因此可通過判斷 sm0.7 的狀態(tài)來打開或關(guān)閉自由口通信。
(5) 發(fā)送器空標(biāo)志 sm4.5 及收發(fā)指令:s7-200plc 有專門的發(fā)送指令:xmt table port table 為發(fā)送數(shù)據(jù)的字節(jié)數(shù)即數(shù)據(jù)長度,最大為 225;port 指定通信口,自由口模式下必須為 0。當(dāng)正發(fā)送數(shù)據(jù)信息時(shí),特殊存儲器位 sm4.5=0,當(dāng)發(fā)送完成后,sm4.5=1,因此可通過判斷 sm4.5 的狀態(tài)來進(jìn)行發(fā)送后處理,也可直接用發(fā)送中斷來處理。cpu215 cpu216 還提供了接收控制指令:rcv table port 與 smb86 smb94 smb 186 smb 194 寄存器配合,用以改變(初始化或終止)接收信息。
plc 串行通訊程序執(zhí)行時(shí),在每一個(gè)掃描周期的開始,都要檢查 sm0.7 的狀態(tài),若 plc 處于 run 方式即 sm0.7=1,則打開自由口模式并設(shè)置其它相關(guān)的波特率、奇偶校驗(yàn)等參數(shù),否則置自由口模式無效。
5、結(jié)束語
本文介紹的基于 can 總線多臺 plc 組網(wǎng)系統(tǒng)的實(shí)現(xiàn),在系統(tǒng)的實(shí)際運(yùn)行中,現(xiàn)場總線 can-bus 的穩(wěn)定性、抗干擾能力得到充分的體現(xiàn)。工程項(xiàng)目不需要改變原有的現(xiàn)場設(shè)備控制平臺,可以將現(xiàn)有控制設(shè)備無縫地嵌入先進(jìn)的現(xiàn)場總線網(wǎng)絡(luò),構(gòu)成新一代的紡織自動化集成網(wǎng)絡(luò)系統(tǒng),為紡織工程 mes 和 erp 提供現(xiàn)場信息自動化平臺。方案以較低的成本投入,使現(xiàn)場自動化網(wǎng)絡(luò)的大跨度提升。具有很好的應(yīng)用前景。