jzzjzq
級(jí)別: 略有小成
![]() |
最近寫(xiě)一個(gè)程序,有四臺(tái)西門(mén)子S1200之間通過(guò)TCP協(xié)議互聯(lián),通訊的數(shù)據(jù)都是用字節(jié)發(fā)送,接受端使用這些數(shù)據(jù)時(shí),卻是以字或雙字使用。目前我不了解的是 A 發(fā)送數(shù)據(jù)是否默認(rèn)是字節(jié)?能不能本來(lái)是INT就發(fā)送INT? B 如果原數(shù)據(jù)為INT,而只能發(fā)送字節(jié),接受端使用這個(gè)數(shù)據(jù)時(shí),是否只能用DBX.DBWX 這樣的形式來(lái)引用?這樣可以使用,但是會(huì)報(bào)無(wú)法通過(guò)變量來(lái)分配的警報(bào)。我感覺(jué)好似不是正規(guī)途徑。 可能很基礎(chǔ),但是看手冊(cè)沒(méi)有找到相關(guān)的說(shuō)明,還請(qǐng)各位幫助。 |
---|---|
|
湛藍(lán)小爾
工控交流 Q703935819
級(jí)別: 家園常客
![]() ![]() |
不是非得BYTE,參考我的帖子,TCP通訊,你找一下。 定義發(fā)送和接收的數(shù)組和ARRY,INT也是可以的。取消優(yōu)化塊的訪問(wèn) |
|
---|---|---|
本帖最近評(píng)分記錄:
|
jzzjzq
級(jí)別: 略有小成
![]() |
如果發(fā)送INT,指令里的LEN是否要乘2呢?另外,我的數(shù)據(jù)并不是很規(guī)整的INT或是BYTE,假如用BYTE發(fā)送了INT數(shù)據(jù),要如何引用]呢?望賜教 ![]() 例如此圖中的數(shù)據(jù) ![]() 在引用時(shí)這樣寫(xiě)是否正確 ![]() [ 此帖被jzzjzq在2018-07-16 12:52重新編輯 ] |
---|---|
|
湛藍(lán)小爾
工控交流 Q703935819
級(jí)別: 家園常客
![]() ![]() |
你到底需要發(fā)送什么樣的數(shù)據(jù),我給你舉個(gè)例子 |
|
---|---|---|
|
jzzjzq
級(jí)別: 略有小成
![]() |
有Bit也有INT也有dint。 所以統(tǒng)一按BYTE發(fā)的,現(xiàn)在的問(wèn)題就是接收到以后,用那種方式引用收到的數(shù)據(jù)。我上貼中有圖,請(qǐng)幫忙看一下是否正確。 是否是這樣的,比如A (PLC)發(fā)送到B(PLC) 12個(gè)BIT、5個(gè)BYTE,3個(gè)INT。那么在A的發(fā)送塊 依次建立12個(gè)BIT、5個(gè)BYTE,3個(gè)INT。 同樣,在B(PLC)接收塊里依次建立12個(gè)BIT、5個(gè)BYTE,3個(gè)INT,然后發(fā)送和接受指令的LEN長(zhǎng)度都定為13個(gè)字節(jié),這樣是否正確? [ 此帖被jzzjzq在2018-07-17 16:27重新編輯 ] |
---|---|
|