国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SCL-61D超聲水表與S7-200 PLC自由口通信的實現(xiàn)

2018-12-28 09:26:02呂文豹
選煤技術(shù) 2018年5期
關(guān)鍵詞:水表通信協(xié)議存儲器

呂文豹

(安徽理工大學(xué) 材料科學(xué)與工程學(xué)院,安徽 淮南 232001)

浮選和濃縮是選煤廠內(nèi)煤泥水處理的主要環(huán)節(jié),捕收劑、起泡劑、絮凝劑等的用量是影響浮選、濃縮效果的重要因素,故保證這些藥劑用量準確非常重要。SCL-61D超聲水表具有靈敏度高、精度高的特點,在煤泥水藥劑檢測中應(yīng)用廣泛。由于SCL-61D超聲水表采用SCL-61D超聲水表通信協(xié)議,無法直接與S7-200可編程控制器(PLC)通信,但S7-200 PLC支持自由口通信[1],故可在S7-200 PLC內(nèi)通過軟件程序采用自由口通信模式來實現(xiàn)SCL-61D超聲水表數(shù)據(jù)的讀取。

1 通信參數(shù)的初始化

S7-200 PLC的自由口通信模式是由用戶自定義的通信協(xié)議,用于與其他支持串行通信的設(shè)備進行通信[2]。如果將S7-200 PLC通信口設(shè)置成自由口通信模式,在S7-200 PLC處于RUN狀態(tài)后,用戶程序就可完全控制通信端口的操作,通信協(xié)議完全受用戶程序控制[3]。S7-200 PLC的通信接口在電氣上是標準的RS-485特性,采用半雙工異步通信方式,故需要在相關(guān)的特殊存儲器上進行通信模式和參數(shù)的設(shè)置[4]。

SCL-61D超聲水表的通信接口是RS-485,與S7-200 PLC的通信接口電氣特性一致,因此在硬件連接方面,只需將SCL-61D超聲水表通信接口的A、B端接到S7-200 PLC的PORT0口的引腳8(RS-485信號A)、3(RS-485信號B)。SCL-61D超聲水表的通信參數(shù)為波特率默認2 400 bps,數(shù)據(jù)位8位,停止位1位,校驗位無[5-7]。SCL-61D超聲水表通信協(xié)議的命令格式為:請求命令:2AH 41H 4AH,響應(yīng)命令:26H 41H 4AH LL(BCD碼) ZZH。

LL(BCD碼)共有13字節(jié)的數(shù)據(jù),其具體字節(jié)內(nèi)容見表1。ZZH為數(shù)據(jù)校驗字節(jié),即不包括控制和命令字節(jié)的所有數(shù)據(jù)內(nèi)容按字節(jié)進行累加,不計超出FF的數(shù)值。

表1 LL(BCD碼)表

根據(jù)SCL-61D超聲水表的通信參數(shù)設(shè)置S7-200 PLC相關(guān)特殊存儲器。選擇S7-200 PLC通信端口,在其自由端口控制器SMB30設(shè)置協(xié)議選擇、波特率、數(shù)據(jù)位、校驗位。根據(jù)SCL-61D超聲水表的通信協(xié)議命令格式可知:當(dāng)S7-200 PLC發(fā)出請求命令后,才有超聲水表數(shù)據(jù)響應(yīng),即超聲水表數(shù)據(jù)響應(yīng)與主機下次發(fā)出請求命令的這段時間內(nèi)總線是空閑的,故定義S7-200 PLC接收數(shù)據(jù)的起始條件為空閑線檢測。結(jié)束條件使用字符間隔定時器,即在接收到字符后,字符間隔定時器重新啟動,如一個字符的結(jié)尾到下一個字符的結(jié)尾之間的時間間隔超過SMW92設(shè)定時間,則數(shù)據(jù)接收結(jié)束。在特殊存儲器SMB87上設(shè)置接收消息的相關(guān)參數(shù),并在特殊存儲器SMW90上設(shè)置空閑線時間(單位:ms),空閑線時間過后接收的第一個字符即為新信息的開始。特殊存儲器SMW92表示字符間定時器超時值(單位:ms),如果超過該時間,則停止接收消息。在特殊存儲器SMB94上設(shè)置需要接收的最大字符數(shù),最大為255字節(jié)。具體設(shè)置見表2。

表2 自由口通信模式和參數(shù)設(shè)置

2 軟件設(shè)計

S7-200 PLC與SCL-61D超聲水表的通信程序主要流程為[8]:

(1)將S7-200 PLC的PORT0端口設(shè)置成自由口通信模式。

(2)初始化自由口通訊模式參數(shù),即將參數(shù)寫入PORT0端口的自由口特殊存儲器,設(shè)置發(fā)送中斷條件,規(guī)定數(shù)據(jù)接收的起始條件和結(jié)束條件。

(3)定時執(zhí)行XMT發(fā)送指令,將SCL-61D超聲水表的數(shù)據(jù)請求命令發(fā)送給SCL-61D超聲水表。

(4)執(zhí)行XMT發(fā)送指令中斷程序,執(zhí)行RCV接收指令程序;完成數(shù)據(jù)接收,并對接收到的SCL-61D超聲水表響應(yīng)數(shù)據(jù)進行校驗,等待下一個XMT發(fā)送指令的執(zhí)行。

自由口通信流程如圖1所示。

圖1 自由口通信流程

S7-200 PLC通過自由口模式與SCL-61D超聲水表通信的核心指令為發(fā)送(XMT)和接收(RCV)指令[9-10]。XMT用于在自由口模式下通過S7-200 PLC的通信接口PORT0發(fā)送數(shù)據(jù),其參數(shù)設(shè)置和程序編寫較為簡單,XMT指令的TBL(數(shù)據(jù)緩沖區(qū))第一個字節(jié)數(shù)據(jù)指明了發(fā)送數(shù)據(jù)的字節(jié)數(shù)(即VB200中的3),其后發(fā)送的為信息字符(即VB201中的16#2A、VB202中的16#41、VB203中的16#4A)。將需要通過S7-200 PLC自由口發(fā)送到SCL-61D超聲水表的數(shù)據(jù)請求命令(2AH 41H 4AH)分別保存在S7-200 PLC中的VB201、VB202、VB203內(nèi),S7-200PLC主程序通過XMT指令定時發(fā)送SCL-61D超聲水表數(shù)據(jù)請求命令。具體程序為:

LD SM0.0

MOVB 3,VB200

MOVB 16#2A,VB201

MOVB 16#41,VB202

MOVB 16#4A,VB203

在主程序中利用定時器定時向超聲水表發(fā)出請求命令,其程序為:

LD T100

EU

XMT VB200,0

XMT指令發(fā)送后需要對數(shù)據(jù)發(fā)送情況進行判斷,為此選用發(fā)送完成中斷。選用S7-200 PLC的PORT0通信端口對應(yīng)中斷事件9產(chǎn)生一個中斷,通過中斷連接指令A(yù)TCH進入對應(yīng)的中斷程序INT_1,并執(zhí)行相應(yīng)的用戶程序,具體為:

ATCH INT_1:INT1,9

ENI

當(dāng)XMT指令完成請求命令發(fā)送后,發(fā)送完緩沖區(qū)中的最后一個字符時產(chǎn)生中斷,并進入中斷程序,在中斷程序內(nèi)通過自由口接收指令RCV,實現(xiàn)接收SCL-61D超聲水表數(shù)據(jù)的響應(yīng)。S7-200PLC通過XMT指令完成請求命令后,等待SCL-61D超聲水表響應(yīng),響應(yīng)數(shù)據(jù)到達S7-200 PLC數(shù)據(jù)緩沖區(qū)后,通過自由口接收指令RCV進行數(shù)據(jù)的接受和存儲,具體程序為:

LD SM0.0

RCV VB300,0

自由口接收指令RCV的參數(shù)設(shè)置與發(fā)送指令XMT一致,RCV指令的TBL的最大字節(jié)為255,接收緩沖格式為第一個字節(jié)表示接受的字符數(shù)(VB300),其后為接受的數(shù)據(jù)字符(即VB301-VB317,表3)。

在完成數(shù)據(jù)接收后,對接收的數(shù)據(jù)按照SCL-61D超聲水表通信協(xié)議進行校驗。如果其與接收的校驗數(shù)據(jù)一致,則數(shù)據(jù)接收正確;如果其與接收的校驗數(shù)據(jù)不一致,則接收數(shù)據(jù)有問題,應(yīng)棄之不用,等待SCL-61D超聲水表下一次的響應(yīng)數(shù)據(jù)。

通過圖2、圖3可以看出:VB304-VB307的數(shù)據(jù)為105,其縮小至1/1 000即為實際瞬時流量0.105 m3/h,與圖3左側(cè)的超聲水表顯示的瞬時流量一致;VB308-VB311的數(shù)據(jù)為9 432,其縮小至1/10即為實際瞬時流量943.20 m3,與圖3右側(cè)的超聲水表顯示的累計流量一致??梢奡7-200PLC的自由口模式可以安全、實時、可靠地獲取SCL-61D超聲水表的流量等相關(guān)數(shù)據(jù)。

表3 接收數(shù)據(jù)存儲表

圖2 S7-200PLC狀態(tài)表中的超聲水表響應(yīng)數(shù)據(jù)

圖3 超聲水表的瞬時流量和累計流量

3 結(jié)語

針對S7-200可編程控制器無法通過編程軟件STEP 7-Microwin 4預(yù)設(shè)的通信協(xié)議直接讀取SCL-61D超聲水表數(shù)據(jù)的問題,提出了S7-200PLC在自由口模式下與SCL-61D超聲水表通信的思路和方法。這種方法可靠性高、實時性強、穩(wěn)定性好,投資成本低,可為其他通信協(xié)議不兼容的智能儀器儀表與S7-200 PLC之間的數(shù)據(jù)交換提供一種的手段和方法。

猜你喜歡
水表通信協(xié)議存儲器
靜態(tài)隨機存儲器在軌自檢算法
水表普查與水表掛接子系統(tǒng)建設(shè)
水表檢定裝置不確定度分析計算的相關(guān)思考
防凍水表
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計與實現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
水表在檢定周期內(nèi)超差原因與解決措施
城市地理(2015年18期)2015-08-15 00:52:57
存儲器——安格爾(墨西哥)▲
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實現(xiàn)技術(shù)簡介
崇州市| 桂林市| 门源| 裕民县| 新河县| 肥城市| 寿宁县| 甘泉县| 崇左市| 九台市| 噶尔县| 大庆市| 林周县| 东至县| 蒙阴县| 兴文县| 塔城市| 邢台市| 正蓝旗| 嘉禾县| 治多县| 贺州市| 芒康县| 独山县| 田林县| 扬州市| 定州市| 嘉黎县| 化州市| 大安市| 叶城县| 巫山县| 皮山县| 来安县| 遵义县| 嵊泗县| 安顺市| 龙里县| 文昌市| 蒙城县| 南皮县|