亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多設備系統(tǒng)中的狀態(tài)顯示和數(shù)據(jù)傳輸設計

        2017-11-24 11:53:05
        關鍵詞:指令功能設備

        (中國郵政集團公司 上海研究院,上海 200062)

        多設備系統(tǒng)中的狀態(tài)顯示和數(shù)據(jù)傳輸設計

        余飛

        (中國郵政集團公司 上海研究院,上海 200062)

        為了滿足越來越多的工業(yè)設備需要進行數(shù)據(jù)傳輸、狀態(tài)顯示的需求,設計了一種工業(yè)設備狀態(tài)顯示和數(shù)據(jù)傳輸系統(tǒng)。利用CAN總線將設備的實時數(shù)據(jù)傳送到數(shù)據(jù)傳輸顯示板并進行狀態(tài)顯示,再通過Modbus RTU協(xié)議傳送到西門子S7-1200 PLC上,從而完成數(shù)據(jù)的傳輸。該系統(tǒng)實現(xiàn)了在應用中編程,具有可連接設備多、成本低、可靠性高等特點。

        CAN總線;Modbus RTU;IAP;S7-1200

        引 言

        隨著工業(yè)4.0和中國制造2025戰(zhàn)略的不斷深入推進,工業(yè)企業(yè)的自動化、智能化水平不斷提高,有越來越多的工業(yè)設備開始具備數(shù)據(jù)通信和可視化的功能,以方便現(xiàn)場監(jiān)視和集中監(jiān)控、提高操作安全性,這就要求在設計產(chǎn)品和系統(tǒng)時充分考慮到這些需求。

        工業(yè)設備之間的數(shù)據(jù)通信往往具有節(jié)點多、數(shù)據(jù)量小、實時性和突發(fā)性強的特點,這就要求整個系統(tǒng)有較好的負載處理能力[1]。當前很多工業(yè)設備都具備通信功能,但受限于各種實際情況,大多閑置而得不到使用。本文設計了一種數(shù)據(jù)顯示傳輸系統(tǒng),能夠采集工業(yè)設備運行狀態(tài)并實現(xiàn)相應的控制。

        1 系統(tǒng)的總體結構

        系統(tǒng)的總體結構圖如圖1所示。各底層的設備通過CAN總線和數(shù)據(jù)傳輸顯示板交換信息。采用CAN通信接口有如下好處:很多工業(yè)設備特別是運動控制設備都支持CAN總線,可以節(jié)約投資;CAN總線支持多主、多從工作方式,網(wǎng)絡上的任意節(jié)點在任意時刻都可以主動地向其他節(jié)點發(fā)送信息,滿足高突發(fā)性要求;采用非破壞性的總線仲裁技術,多點同時發(fā)送信息時,按優(yōu)先級順序通信,避免網(wǎng)絡癱瘓。

        數(shù)據(jù)傳輸顯示板通過Modbus總線和PLC或HMI相連。Modbus總線是當前較為通用的現(xiàn)場總線,可靠性高,易于擴展,支持廠家多,程序開發(fā)也十分方便。本文中可編程邏輯器(PLC)選擇西門子公司S7-1200系列作為通信機,可擴展最多3個通信模塊,支持Profinet總線,并可通過交換機接入以太網(wǎng)。

        圖1 系統(tǒng)總體結構圖

        數(shù)據(jù)傳輸顯示板結構框圖如圖2所示。該電路板采用意法半導體的STM32F103芯片作為主控芯片,通過SPI接口和液晶模塊相連,通過CAN接口和各設備相連,通過RS485接口和PLC相連,另外保留一個RS422接口用于外部調(diào)試。

        圖2 數(shù)據(jù)傳輸顯示板結構框圖

        2 數(shù)據(jù)傳輸顯示板的設計

        2.1 CAN總線通信接口設計

        CAN總線通信接口如圖3所示。CAN收發(fā)器采用ADI公司的ADM3053,這款器件將雙通道隔離器、CAN收發(fā)器和隔離DC/DC轉換器集成于單個芯片中,采用5 V單電源供電,在CAN協(xié)議控制器與物理層總線之間創(chuàng)建一個完全隔離的接口,能以最高1 Mbps的速率工作??紤]到工廠相對惡劣的生產(chǎn)環(huán)境和設備的安裝距離,本文將通信速率定在50 kbps。

        CAN總線基于ISO開放系統(tǒng)互聯(lián)模型,定義了物理層和數(shù)據(jù)鏈路層,一次通信能發(fā)送或接收8個字節(jié)的數(shù)據(jù),完全能夠滿足設備通信的需求。應用層的功能則由用戶程序來完成,主要包括初始化程序、發(fā)送程序和接收程序[2]。

        圖3 CAN總線接口電路圖

        發(fā)送程序首先將數(shù)據(jù)打包成完整的CAN報文格式,利用函數(shù)Can_Send_Msg()來實現(xiàn)。本函數(shù)使用的結構體變量TxMessage由CanTxMsg定義。同樣在接收報文時,使用CanRxMsg類型,它們都是由庫文件定義的結構體類型。對于TxMessage結構體,有如下成員:① StdID:保存的是報文的標準ID,由于文中使用的是擴展ID,故不需要對它賦值。② ExtID:保存的是報文的擴展ID,為32位無符號數(shù),一般可以在其中放3個字節(jié)。③ IDE:用于設置報文的IDE位,即使用標準ID還是擴展ID,本文使用擴展ID。④ RTP:用于設置報文的RTP位,即確定是數(shù)據(jù)幀還是控制幀,本文發(fā)送的是數(shù)據(jù)幀。⑤ DLC:用于設置數(shù)據(jù)段的字節(jié)長度,可取的范圍是0~8。⑥ Data[0]~Data[8]:這些Data數(shù)組即為CAN報文中數(shù)據(jù)段的內(nèi)容,Data的數(shù)量要與DLC段設置的一致。設置好之后,調(diào)用CAN_Transmit()函數(shù)即可將數(shù)據(jù)發(fā)出。

        接收程序主要放在中斷函數(shù)中實現(xiàn)。首先在初始化函數(shù)中將FIFO0消息掛號中斷使能位置1,即允許該中斷。其次在中斷服務函數(shù)USB_LP_CAN1_RX0_IRQHandler()中調(diào)用庫函數(shù)CAN_Receive(),把FIFO0中接收到的報文讀到CanRxMsg類型的全局變量RxMessage中,其接收報文結構體與發(fā)送結構體類似。

        2.2 人機界面(HMI)接口設計

        圖4 LCD 接口電路圖

        本文選用的液晶模塊是HS12864-20中文圖形液晶模塊,其控制器為臺灣矽創(chuàng)電子的ST7920。該模塊內(nèi)建中文字庫,支持8字符×4行中文字符顯示,西文字符半寬顯示,支持并行和串行接口,內(nèi)部自建振蕩源,具有自動電源啟動復位功能。其接口圖如圖4所示,MCU端為主機,LCD采用串行接口控制模式,和MCU通過SPI接口相連接。由于MCU只發(fā)不收,只需要連接片選信號線PB12、時鐘信號線PB13、主設備輸出線PB15。PC4為液晶背光控制,PC5為復位控制[3]。

        首先對液晶模塊進行初始化,用于功能設定、清屏、設置游標等操作。初始化完成之后,通過SPI總線將需要顯示的內(nèi)容寫入顯示RAM(DDRAM)中。先寫入地址計數(shù)器的地址,再寫入需要顯示的字符。MCU定時向液晶模塊發(fā)送機器的狀態(tài)信息,這樣液晶屏幕上可以滾動顯示機器的狀態(tài)。

        LCD模塊的串口時序圖如圖5所示,CS是片選輸入,高有效,SCLK為串行時鐘輸入,SID為串行數(shù)據(jù)線。當時鐘SCLK上升沿到達時,傳輸一個數(shù)據(jù)位。無論是發(fā)送數(shù)據(jù)還是命令,一開始先傳輸起始字節(jié),包括發(fā)送5個連續(xù)的“1”,此時傳輸計數(shù)器重置并且被同步,跟隨的2位分別為讀寫標志位R/W及命令/數(shù)據(jù)標志位RS,最后一位是0。起始字節(jié)發(fā)送完成后,接下來的8位命令/數(shù)據(jù)被分成兩個字節(jié)發(fā)送,每個字節(jié)的高4位為有效數(shù)據(jù)位,低4位則為0。

        圖5 LCD模塊的串口時序圖

        2.3 IAP設計

        當數(shù)據(jù)傳輸顯示板在現(xiàn)場安裝并使用后,根據(jù)實際需求的變化,可能需要對該電路板的固件進行更新。這時采用傳統(tǒng)編程工具下載的方式,就會顯得耗時費力。這時可以利用STM32系列芯片的在應用中編程(In Application Programming,IAP)功能,通過通信接口實現(xiàn)對固件的更新升級。實現(xiàn)IAP功能的固件包含兩個部分:BootLoader和UserApp。其中BootLoader部分通過編程工具進行燒錄,UserApp部分可以在燒錄BootLoader后通過通信接口進行下載,用戶程序放置在UserAPP中[4-5]。

        STM32F103芯片的程序存儲器、數(shù)據(jù)存儲器、寄存器和輸入/輸出端口被組織在同一個4 GB的線性地址空間內(nèi),內(nèi)部Flash地址起始于0x8000 0000。本文將BootLoader放在內(nèi)部Flash的0x8000 0000~0x8000 4000區(qū)域,大小為16 KB,UserAPP放在0x8000 4000以后的區(qū)域。USART1為通信接口,系統(tǒng)上電復位后執(zhí)行BootLoader程序,先檢測撥碼開關的電平,如為低,則等待更新UserAPP程序,否則立即執(zhí)行原有的UserAPP程序,BootLoader工作流程圖如圖6所示。

        圖6 BootLoader 工作流程圖

        在BootLoader程序中需要執(zhí)行Flash的擦除與燒寫工作。STM32F103 的片內(nèi)Flash 以頁為單位組織,大小為1 KB。復位后Flash存儲器默認為寫保護狀態(tài),可以通過軟件設置FLASH_CR 寄存器中的LOCK 位進行寫保護。在寫保護狀態(tài)下只能按序在FLASH_KEYR 寄存器中寫入控制字CW1=0x45670123和CW2=0xCDEF89AB,才能開啟對Flash的訪問權限。Flash需要擦除后再編程,最小擦除單位為頁,也可以整體擦除,編程后應將Flash進行上鎖保護以防止意外寫入。Flash編程每次可以寫入16位,F(xiàn)LASH_CR寄存器的PG位必須置1。閃存編程和擦除控制器(FPEC)先讀出指定地址的內(nèi)容并檢查是否被擦除,如未被擦除則不執(zhí)行編程并在FLASH_SR寄存器的PGERR位提出警告(唯一的例外是當要燒寫的數(shù)值是0x0000時, 0x0000可被正確燒入且PGERR位不被置位)。FLASH_SR寄存器的EOP為1時表示編程結束。

        運行代碼從 BootLoader 區(qū)跳轉到應用程序區(qū)時,用下面的代碼設定跳轉地址:

        //定義UserAPP燒錄初始地址

        #define IAPSTART0x8004000

        //關中斷

        _ _disable_irq();

        //主堆棧指針指向復位指令地址

        Jump_To_Application=(pFunction)(*(vu32*) (IAPSTART+4));

        _ _set_MSP(*(vu32*) IAPSTART);

        Jump_To_Application();

        從BootLoader跳轉到UserAPP后,在初始化階段需要將中斷向量表根據(jù)燒錄地址進行偏移,系統(tǒng)時鐘和外設中斷等也必須重新初始化,因為它們是完全獨立的兩個程序[6]。

        2.4 Modbus RTU從站設計

        本文中PLC和數(shù)據(jù)傳輸顯示板之間的通信采用Modbus RTU協(xié)議。Modbus RTU是一個基于串行總線的通信協(xié)議,對應用層、串行數(shù)據(jù)鏈路層以及物理層制定了標準。該協(xié)議物理層一般采用RS485半雙工電路,數(shù)據(jù)鏈路層定義了數(shù)據(jù)幀的組成及收發(fā),應用層定義了具體的報文傳輸協(xié)議,特別是功能碼的定義。Modbus通信由主設備先發(fā)出消息,包括設備地址、功能代碼、數(shù)據(jù)地址和CRC校驗。從設備收到消息后,根據(jù)通信地址決定是否回復,回復消息包含確認的功能代碼、返回數(shù)據(jù)和CRC校驗。如果主設備發(fā)出的通信地址為零,則為廣播消息,從設備均不回復。

        上位機通過輪詢各個數(shù)據(jù)傳輸顯示板,將設備的數(shù)據(jù)收集上來,并將設置、控制命令發(fā)送下去。數(shù)據(jù)傳輸顯示板支持0x03、0x06、0x10三種功能碼,分別可以實現(xiàn)讀保持寄存器、寫單個寄存器、寫多個寄存器。

        建立Modbus通信表是軟件設計的重要環(huán)節(jié),由于每個參數(shù)都涉及到多臺機器,將各個參數(shù)以結構體數(shù)組的方式組織起來,包含32個成員,對應于電路板所連接的32臺機器。從站接收到主站發(fā)出的讀寫命令并進行解析,根據(jù)功能碼的不同進行回復,對于寫寄存器的命令則通過CAN總線下發(fā)到相應的機器中去。如果數(shù)據(jù)傳輸顯示板從PLC接收到了無法處理的請求(比如該請求是讀取一個不存在的寄存器),那么它會返回一個異常響應,通知PLC出現(xiàn)了何種錯誤[7]。

        3 PLC端通信程序設計

        3.1 Modbus RTU 主站設計

        本文中Modbus RTU主站為西門子公司的PLC S7-1200,通過在CPU上擴展一個串口模塊實現(xiàn)。利用PLC中集成的Modbus RTU協(xié)議,應用程序直接調(diào)用相關的指令即可進行通信。

        Modbus_Comm_Load指令用于接口的初始化,用來設置相關的硬件端口號、波特率、奇偶校驗等參數(shù)。Modbus_Master指令用于Modbus主站利用Modbus_Comm_Load指令組態(tài)的端口進行通信,該指令對發(fā)送和接收的操作是分開的,故在程序設計中需要調(diào)用兩次該指令,用戶程序通過輪詢Modbus_Master 指令了解傳送和接收的完成情況,其指令格式如下:

        “Modbus_Master_DB_Send”(REQ := “Modbus”.Send.Enable,

        MB_ADDR := 1,

        MODE := 2,

        DATA_ADDR := 40129,

        DATA_LEN := 32,

        DONE => “Modbus”.Send.Done,

        BUSY => “Modbus”.Send.Busy,

        ERROR => “Modbus”.Send.Error,

        STATUS => “Modbus”.Send.Status,

        DATA_PTR := “Modbus”.Send.TX);

        其中,REQ用于使能發(fā)送/接收操作,MB_ADDR用于設置Modbus從站地址,0為廣播地址。DATA_ADDR和MODE參數(shù)用于共同確定Modbus消息中使用的功能代碼,可以從PLC數(shù)據(jù)手冊中查詢。如要實現(xiàn)0x03功能碼,則MODE為0,DATA_ADDR為Modbus寄存器地址加上40 001。DATA_LEN用于表示此請求中要訪問的位數(shù)或字節(jié)數(shù)。DONE、BUSY、ERROR、STATUS均為通信過程的狀態(tài)量。DATA_PTR用于指向要寫入或讀取的數(shù)據(jù)地址。

        3.2 Profinet通信設計

        圖7 連接參數(shù)配置圖

        S7-1200系列PLC可以通過Profinet接入以太網(wǎng),從而實現(xiàn)更廣泛的網(wǎng)絡連接。同樣應用程序可以調(diào)用相應的指令完成,其發(fā)送、接收操作分別由TSEND_C、TRCV_C這兩個函數(shù)完成,同時還必須完成組態(tài)中的TCP/IP連接參數(shù)配置,如圖7所示。其中,端點為本機項目的名稱,接口為分配給接口的名稱,子網(wǎng)為分配給Profinet子網(wǎng)的名稱,地址為本機的IP地址,連接類型為TCP,連接ID由系統(tǒng)生成,用于和背景數(shù)據(jù)塊相連接,連接數(shù)據(jù)指向要發(fā)送和接收的數(shù)據(jù)結構。由于這里本機是服務器端,不需要選擇主動建立連接。端口號為程序所分配的本地端口號。同樣,在客戶機端也要做相應的配置。

        結 語

        [1] 韓靈山,姜帥,江豪,等.基于Modbus的設備能耗信息化系統(tǒng)設計及應用[J].自動化與儀表,2016,31(11):47-49.

        [2] 王慶雙,蔡冬生.基于ARM的CAN通信系統(tǒng)的設計與實現(xiàn)[J].航空電子技術,2011(1):9-13.

        [3] 常玉臣,郭其一.基于Modbus協(xié)議的液晶顯示控制模塊設計[J].工業(yè)儀表與自動化裝置,2010(1):48-51.

        [4] 汪晶晶,蘇建徽,孫佩石.基于串口通信的 DSP 應用程序在線升級方法[J].微型機與應用,2013,32(14):15-17,24.

        [5] 楊晶,何鵬舉,朱升林,等.具有遠程升級功能的網(wǎng)絡化智能溫控器[J].測控技術,2012,31(11):6-10.

        [6] 吳瑞娜,張建奇,梁喜軍.基于STM32的GPRS遠程在線升級系統(tǒng)設計與實現(xiàn)[J].自動化技術與應用,2015,34(12):34-37.

        [7] 劉生輝,王克英,廖顏深.智能開關柜操控裝置Modbus-RTU通訊協(xié)議的設計[J].電測與儀表,2010,47(7):77-80.

        余飛(工程師),主要從事物流自動化設備的研究與開發(fā)。

        DesignofStatusDisplayandDataTransmissionSystemforMulti-device

        YuFei

        (Shanghai Research Institute,China Post Group,Shanghai 200062,China)

        As more and more industrial equipments need data transmission and status display,a status display and data transmission system is designed in the paper.The CAN bus is used to transmit real-time data from equipment to the data transmission and status display board for status display,then the data is transmitted to the SIEMENS S7-1200 PLC through the Modbus RTU protocol.The system can be programmed in application,and has the ability to connect more equipment with low cost and high reliability.

        CAN bus;Modbus RTU;IAP;S7-1200

        TP2

        A

        2017-08-25)

        猜你喜歡
        指令功能設備
        聽我指令:大催眠術
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        諧響應分析在設備減振中的應用
        ARINC661顯控指令快速驗證方法
        測控技術(2018年5期)2018-12-09 09:04:26
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        基于MPU6050簡單控制設備
        電子制作(2018年11期)2018-08-04 03:26:08
        關于非首都功能疏解的幾點思考
        500kV輸變電設備運行維護探討
        原來他們都是可穿戴設備
        消費者報道(2014年7期)2014-07-31 11:23:57
        中西醫(yī)結合治療甲狀腺功能亢進癥31例
        国产成人亚洲综合一区| 亚洲乱码无人区卡1卡2卡3| 国产农村熟妇videos| 99久久久无码国产精品免费砚床| 97久久综合区小说区图片专区 | 一本大道久久a久久综合精品| 亚洲成av人在线观看网址| 越南女子杂交内射bbwxz| 国产精品系列亚洲第一| 国产91九色免费视频| 98色婷婷在线| 一本之道高清无码视频| 亚洲欧美日韩在线中文一| 亚洲一区二区蜜桃视频| 好紧好爽免费午夜视频| 婷婷综合久久中文字幕蜜桃三电影| 午夜国产精品视频免费看电影| 天堂丝袜美腿在线观看| 亚洲乱亚洲乱妇| 欧美另类在线视频| 亚洲精品一区二区视频| 激情亚洲一区国产精品久久| 精品亚洲一区二区三区在线观看 | 国产精品无码久久综合| 黄 色 人 成 网 站 免 费| 久久久诱惑一区二区三区| 亚洲女同恋av中文一区二区| 天天做天天爱天天综合网2021| 综合网在线视频| 国产精品午夜高潮呻吟久久av| 高清午夜福利电影在线| 国产乱妇乱子视频在播放| 国产杨幂AV在线播放| 国产精品国产三级野外国产| 4399理论片午午伦夜理片| 五月丁香六月综合激情在线观看| 日本精品少妇一区二区| 婷婷成人丁香五月综合激情| 久久国产成人午夜av影院| 国产女主播免费在线观看| 国产精华液一区二区三区|