PLC通訊,兩個(gè)設(shè)備通訊點(diǎn)數(shù)不夠怎么辦?
吳翠萍
發(fā)布于2020-05-28 16:13
7
2
標(biāo)簽:PLC通訊,PLC編程入門(mén)
【點(diǎn)擊領(lǐng)取】三菱案例 | 西門(mén)子案例 | 電工手冊(cè) | 工具箱 軟件
【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門(mén)子PLC例程777個(gè)
【點(diǎn)擊下載】2020新電工仿真軟件
今天技成培訓(xùn)網(wǎng),給大家?guī)?lái)的是關(guān)于本文作者在之前做工程的時(shí)候,遇到一個(gè)這樣的問(wèn)題,有兩臺(tái)不同的設(shè)備,他們之間通過(guò)某種通訊協(xié)議去通訊,然后臺(tái)設(shè)備D0到D3這4個(gè)寄存器的數(shù)據(jù)傳送給第二臺(tái)設(shè)備的D10到D13。后面以為客戶(hù)需求的原因,需要傳輸12個(gè)數(shù)據(jù),需要我們?nèi)ジ膭?dòng)。
怎么辦呢?一開(kāi)始想的是去更改硬件,更換通訊的方式,但是這樣的話花的時(shí)間成本還有硬件成本就比較高了。后面和客戶(hù)溝通了一下,了解到他們對(duì)數(shù)據(jù)通訊的速度不做要求,就算間隔個(gè)幾十秒的時(shí)間也沒(méi)問(wèn)題。
得知這個(gè)信息后,稍微一想,這個(gè)問(wèn)題也太好解決了,通過(guò)修改一下程序就可以。
已知一個(gè)條件(通訊發(fā)送完成標(biāo)志位位M0,就是每次發(fā)送完信息,M0就會(huì)導(dǎo)通一個(gè)掃描周期)方法如下:
在主PLC里面,條件是M0的上升沿,定義D0進(jìn)行不斷加1
我們可以寫(xiě)一段一下的程序
當(dāng)D0等于0時(shí),就把D101到D103這3個(gè)寄存器發(fā)送到D1到D3里面去
當(dāng)D0等于1時(shí),就把D111到D113這3個(gè)寄存器發(fā)送到D1到D3里面去
當(dāng)D0等于2時(shí),就把D121到D123這3個(gè)寄存器發(fā)送到D1到D3里面去
當(dāng)D0等于3時(shí),就把D131到D133這3個(gè)寄存器發(fā)送到D1到D3里面去
當(dāng)D0等于4時(shí),把D0清空,重新執(zhí)行加1.
這樣的話就通過(guò)不同通訊周期,發(fā)送了不同的數(shù)據(jù),通訊的時(shí)間一般都是很短的,你就是發(fā)送幾十次的時(shí)間還不到1秒,所以不用擔(dān)心延遲太久。發(fā)送的數(shù)據(jù)就加多了。
然后,我們需要在從站PLC這邊對(duì)這些數(shù)據(jù)進(jìn)行解讀。程序如下
通過(guò)如上程序
當(dāng)D0等于0時(shí),就把D1到D3這3個(gè)寄存器發(fā)送到D101到D103里面去
當(dāng)D0等于1時(shí),就把D1到D3這3個(gè)寄存器發(fā)送到D111到D113里面去
當(dāng)D0等于2時(shí),就把D1到D3這3個(gè)寄存器發(fā)送到D121到D123里面去
當(dāng)D0等于3時(shí),就把D1到D3這3個(gè)寄存器發(fā)送到D131到D133里面去
這樣的話,就相對(duì)于把主PLC的數(shù)據(jù)做了如下傳輸:
假如你想傳輸更多的數(shù)據(jù),可以用同樣的方法!(技成培訓(xùn)原創(chuàng),作者:陳育鑫,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究!)

技成培訓(xùn)
微信公眾號(hào):jcpeixun
|

技成電工課堂
微信公眾號(hào):jcdgkt
|

技成PLC課堂
微信公眾號(hào):jc-plc
|