在使用GSM MODEM無線模塊時,上位PC對"/>
變頻器: | 西門子代理商 |
觸摸屏: | 西門子一級代理 |
伺服電機: | 西門子一級總代理 |
單價: | 面議 |
發貨期限: | 自買家付款之日起 天內發貨 |
所在地: | 廣東 惠州 |
有效期至: | 長期有效 |
發布時間: | 2023-12-14 12:41 |
最后更新: | 2023-12-14 12:41 |
瀏覽次數: | 163 |
采購咨詢: |
請賣家聯系我
|
在上位PC的人機界面中,串口的設置是通過下拉選擇框選擇出所連接的串口后由程序自動讀取。在使用GSM MODEM無線模塊時,上位PC對遠程PLC鏈接呼叫時采用的是AT指令。程序語句為:MSComm1.Output=“ATDT”&Trim (Text1.Text)& vbCrLf//Text1文本框內為欲連接的掛機的AT指令為:MSComml.Output=“ATDT”&“+++”& vbCrLf。串口數據格式的設定語句為:MSComml.SetTIngs=“9600. N,8.1”,與TC35iGSM MODEM無線通訊模塊和遠程PLC自由口的串行數據通訊格式一致。
3.3 通訊數據格式的約定
由于遠程PLC采用的是自由口用戶通訊方式,這里對每次收發數據字節暫約定為18個字節,數據字節的多少可根據實際需要而酌情約定。本系統中18個字節的約定:Bybbb為數據的總字節數;Bvte2為數據開始特征字;Bvte3為數據讀或寫特征字:Byte4為數據類型特征字;Bvte5~Byte8為PLC數據地址;Bvte9~Bybbb6為PLC數據的數值;Bybbb7為收發數據的校驗碼;Bvbbb8為數據結束特征字。串口數據的傳輸除數據地址字節和數據數值字節用ASCII碼表示外,其他均以十六進制方式表示。在上位PC的編程中需涉及大量的進制轉換操作。特別要注意的是由于PLC中的實數采用32位單精度數表示,并按照ANSI/IEEE745 1985標準格式以雙字長度來存取,無論是上位的PC或是下位的PLC在編程時對實數數據的處理均需嚴格遵循ANSI/IEEE7451985標準格式的規定,否則將不可能讀到正確的數據。
通訊數據的校驗方式采用BCC塊進行XOR校驗,即約定為從每次數據包的Byte2到Bybbb6的字節進行校驗,Bvbbb7存放校驗結果。上位或下位在接收數據時,對所接收的數據進行校驗并將計算結果與Bvbbb7所存放的數值進行比較,如不一致時則按約定要求重發,以保障每次傳輸數據的正確性。
3.4 遠程PLC自由口通訊初始化編程
由于遠程PLC采用的是自由口用戶通訊協議,對PLC的自由口通訊必須做如下初始化設置:
遠程PLC經上述設置后,在其運行期間每當接收到一組數據后便自動產生中斷請求,在中斷服務的子程序中,設定一標志位(如MO.0)置位,用來表示允許進入中斷服務,在主程序中通過檢測M0.O的狀態來確定是否轉入讀數據操作的子程序,讀數據操作完畢后及時將接收數據標志M0.0復位,從而完成一次讀數據過程。PLC數據的上傳則是根據所讀數據的內容來響應上位的請求,上傳數據的編碼和字節均依照約定的格式寫入,每次的讀寫操作僅在PLC一個掃描周期內(數毫秒)完成,系統的響應是實時的。
3.5 遠程PLC數據的讀寫操作
PLC數據的讀寫是依據約定的數據類型實施操作的。對于字節、字、雙字、實數及I/0端口各自有約定的數據類型特征字,在下位PLC程序中通過對數據類型特征字的解析后來確定讀取數據的字節數。對I/0端口的讀寫操作則是根據約定的地址編碼直接讀寫出相應的狀態信息。每組收發數據的存儲單元從VBl00到VBll7共18個字節。由前述的數據發送量的約定可知,每組數據的Byte5~Byte8表示PLC數據的地址,由于每次讀寫的地址是不同的,Byte5~Byte8字節給定的就是地址指針,在PLC編程中就要以此指針采用間接尋址的方式,假設Byte5~Byte8存放在PLC的VB104~VBl07單元,其間址指令則為:
MOVD &VBl04,ACl讀取該地址內容時則根據數據類型的不同而有所區別,假如讀寫字節時指令為:MOVB*ACl,VBl60;則讀寫字的指令為:MOVW *ACl,VWl60;讀寫雙字的指令為:MOVD *ACl,VDl60;讀寫實數的指令則為:MOVR *ACl,VDl60。
4 結束語
本系統經實際測試基本達到了預期效果。遠程PLC在省際間距離的測控響應與在本市區地域的測控響應基本相同,通過對PLC I/O的讀寫、模擬量數據的讀寫、單字節、雙字節及實數的讀寫,均未出現數據差錯現象,遠程的響應速度基本上是對上位的指令立即響應,操作人基本感覺不出時間的延時。在PLC中,由于本遠程測控程序字節量較少,可以嵌入在PLC的過程控制程序中運行,由于在自由口通訊中,
對上位PC讀寫的響應采用的是中斷方式快速響應,對PLC的過程控制程序的實時性基本無影響
在上一次發表的
1、 配置OPC服務器
對于服務器的配置與同步通訊的配置一樣,這里不需再講解,若有不清楚的,可以參閱之前發布的
2、 OPC編程
變量組、項的命名規則與同步通訊的一樣,這里不再描敘,下面主要就開發一個異步通訊類 AsynServer來講解如何編程。MD0由字節MB0~MB3組成,MB0為最高字節,MB3為字節。這個順序可能和別的PLC或計算機的編程語言的規定剛好
在MB0中,M0.7最高位,接著為M0.6……M0.0位。MD0中各位的排列順序如下,M0.7為最高位,M3.0為位。
M0.7、0.6、0.5、0.4、0.3、0.2、0.1、0.0,M1.7、1.6、1.5、1.4、1.3、1.2、1.1、1.0
M2.7、2.6、2.5、2.4、2.3、2.2、2.1、2.0,M3.7、3.6、3.5、3.4、3.3、3.2、3.1、3.0
用變量表監控MD0,可以驗證此顯示格式中HEX是十六進制,BIN為二進制。