在工業(yè)自動(dòng)化領(lǐng)域,PLC(可編程邏輯控制器)作為核心設(shè)備,其網(wǎng)絡(luò)通信的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細(xì)介紹如何在基于LicOS PLC中使用Smart Control軟件進(jìn)行Ping命令操作,以檢測(cè)PLC與其他網(wǎng)絡(luò)設(shè)備之間的通信狀態(tài)。
Ping命令是一種廣泛應(yīng)用于電腦網(wǎng)絡(luò)的工具,存在于Windows、Unix和Linux系統(tǒng)中。它工作在TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu)的應(yīng)用層,通過向特定目的主機(jī)發(fā)送ICMP(Internet Control Message Protocol)Echo請(qǐng)求報(bào)文,測(cè)試目標(biāo)主機(jī)是否可達(dá)及其狀態(tài)。Ping命令能夠幫助用戶分析和判定網(wǎng)絡(luò)故障,是網(wǎng)絡(luò)調(diào)試中不可或缺的工具。
Smart Control作為L(zhǎng)icOS PLC的編程調(diào)試軟件,支持在PLC調(diào)試階段使用Ping命令,以檢測(cè)PLC與其他網(wǎng)絡(luò)站點(diǎn)的數(shù)據(jù)可達(dá)性。這一功能在網(wǎng)絡(luò)調(diào)試和故障排查中尤為重要。
使用場(chǎng)景
在實(shí)際項(xiàng)目中,PLC通常作為網(wǎng)絡(luò)中介連接不同網(wǎng)段的設(shè)備。例如,PLC通過LAN1與上層網(wǎng)絡(luò)及上位管理平臺(tái)通信,通過LAN2與前端執(zhí)行設(shè)備通過現(xiàn)場(chǎng)總線(如ModBus TCP、Profinet、EtherNet等)通信。當(dāng)兩個(gè)網(wǎng)絡(luò)環(huán)境處于不同網(wǎng)段時(shí),PLC需要確保與各設(shè)備的網(wǎng)絡(luò)連通性。此時(shí),Ping命令的使用顯得尤為關(guān)鍵。
以下為使用方法:
一、庫文件添加
SysSockPing功能塊屬于SysSocket功能庫。操作流程如下:
雙擊庫管理器—添加庫—顯示高級(jí)庫—搜索SysSocket—確定
01. 函數(shù)塊
SysSockPing函數(shù)功能塊如下圖所示:
02. 函數(shù)塊引腳定義
SysSockPing函數(shù)功能塊引腳定義如下圖所示:
SysSockPing: 函數(shù)返回?cái)?shù)據(jù),顯示與其他通信伙伴的通訊建立結(jié)果。
szIPAddress:以字符串形式表示的通信伙伴的IP地址。
ulTimeout:等待答復(fù)的超時(shí)時(shí)間,以毫秒為單位。
pulReplyTime:指針以獲取ping請(qǐng)求的平均響應(yīng)時(shí)間,以毫秒為單位。
功能分析:
szIPAddress:輸入通信伙伴的目標(biāo)IP地址,格式為字符串,例如“192.168.20.80”。
ulTimeout:設(shè)置等待答復(fù)的超時(shí)時(shí)間(單位:毫秒)。該值不能為0,且應(yīng)根據(jù)實(shí)際網(wǎng)絡(luò)質(zhì)量合理設(shè)置,避免過小導(dǎo)致誤判。
pulReplyTime:通過指針反饋Ping請(qǐng)求的平均響應(yīng)時(shí)間(單位:毫秒)。如果其值等于ulTimeout,說明通信已斷開。
SysSockPing返回值:返回0表示通信正常,其他值表示通信失敗。
01. LD
1、定義相關(guān)變量。
PROGRAM PLC_PRG VAR str_szIPAddress : STRING ; udi_ulTimeout : TIME; udi_pulReplyTime : UDINT; bTrigger : BOOL;//執(zhí)行 bResult :UDINT ;//結(jié)果 END_VAR
如下圖所示:
2、函數(shù)調(diào)用
如下圖所示:
例程測(cè)試的PLC1的LAN1 IP地址為192.168.20.80/24、LAN2 IP地址為192.168.21.80/24,LAN3 IP地址為192.168.22.80/24,與其建立通訊的PLC2 IP地址為192.168.21.20/24,PLC2與PLC1的LAN2連接,調(diào)試PC IP地址為192.168.20.254/24,PC與PLC1的LAN1連接。
程序測(cè)試如下圖所示。
可見設(shè)定的ulTimeout為10ms,函數(shù)執(zhí)行返回結(jié)果為0,平均響應(yīng)時(shí)間pulReplyTime為0ms,所以表明其與通信伙伴建立了通信并且通信網(wǎng)絡(luò)質(zhì)量?jī)?yōu)。
而下圖所示則表明通訊失?。?/p>
可見設(shè)定的ulTimeout為10ms,函數(shù)執(zhí)行返回結(jié)果為5,平均響應(yīng)時(shí)間pulReplyTime為10ms,所以表明其與通信伙伴建立通信失敗。
02. ST
1.定義相關(guān)變量。
PROGRAM PLC_PRG VAR str_szIPAddress : STRING ; udi_ulTimeout : TIME; udi_pulReplyTime : UDINT; bTrigger : BOOL;//執(zhí)行 bResult : UDINT ;//結(jié)果 END_VAR
如下圖所示:
2、函數(shù)調(diào)用
如下圖所示:
3.在線測(cè)試
例程測(cè)試的PLC1的LAN1 IP地址為192.168.20.80/24、LAN2 IP地址為192.168.21.80/24,LAN3 IP地址為192.168.22.80/24,與其建立通訊的PLC2 IP地址為192.168.21.20/24,PLC2與PLC1的LAN2連接,調(diào)試PC IP地址為192.168.20.254/24,PC與PLC1的LAN1連接。
程序測(cè)試下圖所示:
可見設(shè)定的ulTimeout為10ms,函數(shù)執(zhí)行返回結(jié)果為0,平均響應(yīng)時(shí)間pulReplyTime為0ms,所以表明其與通信伙伴建立了通信并且通信網(wǎng)絡(luò)質(zhì)量?jī)?yōu)。
而下圖所示則表明通訊失敗:
可見設(shè)定的ulTimeout為10ms,函數(shù)執(zhí)行返回結(jié)果為5,平均響應(yīng)時(shí)間pulReplyTime為10ms,所以表明其與通信伙伴建立通信失敗。
通過Smart Control軟件在LicOS PLC中使用Ping命令,可以有效檢測(cè)PLC與其他網(wǎng)絡(luò)設(shè)備之間的通信狀態(tài)。本文詳細(xì)介紹了庫文件的添加、函數(shù)功能塊的使用方法以及具體的例程操作。在實(shí)際應(yīng)用中,工程師可以根據(jù)本文的指導(dǎo),快速診斷和解決PLC網(wǎng)絡(luò)通信問題,提高工業(yè)自動(dòng)化系統(tǒng)的穩(wěn)定性和可靠性。