最近在一個(gè)120萬元的項(xiàng)目中,涉及到modbustcp通信,我作為軟件總工負(fù)責(zé)項(xiàng)目的通信程序開發(fā),modbus是一個(gè)在工業(yè)自動(dòng)化領(lǐng)域中的通信協(xié)議,可以是modbusrtu,modbusascii,modbustcp三個(gè)形式,具體來說是三個(gè)不同的數(shù)據(jù)包結(jié)構(gòu),具體的細(xì)節(jié)請(qǐng)讀者自行熟悉,這里只講項(xiàng)目中應(yīng)用過程,本項(xiàng)目中總工設(shè)計(jì)的環(huán)境是上位機(jī)軟件與PLC走modbustcp協(xié)議通信,那就是說上位機(jī)必須通過網(wǎng)線與PLC連接,當(dāng)然中間是有交換機(jī)的,兩者通信時(shí),PLC是服務(wù)器,上位機(jī)是客戶端,這個(gè)角色關(guān)系千萬別搞錯(cuò)了,理解這個(gè)定位后,才好理解整個(gè)過程,記?。篬PLC是tcp服務(wù)器,上位機(jī)是tcp客戶端]
這是工控機(jī),就是一臺(tái)PC電腦,但與普通電腦不同的是,對(duì)外的接口有更多,如多個(gè)串口,USB口
?這是PLC,它有網(wǎng)口,通過網(wǎng)線連接交換機(jī)
,?通信模型如下:
?我簡(jiǎn)化下
?服務(wù)器這邊的工作:1、搭建tcp服務(wù)器,明確IP地址和端口,2、提供modbus寄存器地址和數(shù)據(jù)
客戶機(jī)這邊的工作:1、開發(fā)winform程序,連接服務(wù)器,2、讀取和寫入寄存器數(shù)據(jù)
工業(yè)軟件調(diào)試中往往會(huì)遇到需要與modbus tcp設(shè)備進(jìn)行通訊的情況,為減少程序設(shè)計(jì)中存在的Bug,通常我們需要對(duì)其進(jìn)行簡(jiǎn)單的模擬測(cè)試,便于縮短真機(jī)調(diào)試。
本篇將會(huì)以西門子PLC1500軟件搭建ModbusTCP仿真環(huán)境,并通過仿真環(huán)境,介紹基礎(chǔ)知識(shí)及模擬實(shí)際應(yīng)用中寫一個(gè)簡(jiǎn)單的通信讀取PLC數(shù)據(jù)方法,并簡(jiǎn)介了編寫上位機(jī)的方法。
搭建ModbusTCP仿真環(huán)境可以采用以下兩種方式
- ModbusSlave可以快速搭建一個(gè)ModbusTCP服務(wù)器,但這個(gè)不符合本項(xiàng)目需要 。
- 可以用西門子PLC來做ModbusTCP仿真環(huán)境,這個(gè)正合胃口,項(xiàng)目中正是西門子1500PLC
?搭建西門子仿真環(huán)境,需要先前掌握這些
windows10企業(yè)版安裝西門子博途V15---01準(zhǔn)備環(huán)境
windows10企業(yè)版安裝西門子博途V15---02安裝軟件
windows10企業(yè)版安裝西門子博途V15---03安裝仿真軟件
windows10企業(yè)版安裝西門子博途V15---04連接測(cè)試
網(wǎng)上看了很多使用PLC搭建MODBUSTCP服務(wù)器的文章,寫得一般,都是從一個(gè)電氣工程師的角度來說的,而且還不怎么樣,但作為一個(gè)傳統(tǒng)的應(yīng)用軟件人才來看,有些迷茫不解,很多地方糊涂,而我這個(gè)文章就不一樣,不但從電氣工程師來講,更多的是從軟件開發(fā)人員的角度來講明白,能看到這個(gè)文章,你是幸運(yùn)的。
軟件效果如圖:
?
?文章來源:http://www.zghlxwxcb.cn/news/detail-657668.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-657668.html
到了這里,關(guān)于C#與西門子PLC1500的ModbusTcp服務(wù)器通信1--項(xiàng)目背景的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!