jswxhl
級別: 探索解密
|
各位大俠好, CPU317-2DP通過PROFIBUS協(xié)議連接CPU226上面的EM277,組成PROFIBUS網(wǎng)絡(luò),CPU317-2DP(寄存器DB0.DBD0)如何對CPU226中的VD0寄存器做到實時讀寫?(即當(dāng)直接改變CPU226中VD0的數(shù)據(jù)的時候,CPU317-2DP需要讀到DB0.DBD0中;當(dāng)CPU317-2DP中的DB0.DBD0中的數(shù)據(jù)有修改時,數(shù)據(jù)同步寫入到CPU226的VD0寄存器)難點是EM277的GSD文件中是I和O分開傳送進行讀寫功能的。 |
---|---|
|
沸騰的冰
級別: 略有小成
|
其實你這個想法本來是不現(xiàn)實的,也是有矛盾的。舉個例子說明,你剛才提到的同步,是誰跟誰同步啊?如果VD0里是5,DB0.DBD0里面是6,那是5變成6還是6變成5啊? 也就是說這兩個寄存器如果存在數(shù)據(jù)不同的時候到底是誰傳給誰,誰寫給誰?你這不是在難為PLC嗎? |
---|---|
|
沸騰的冰
級別: 略有小成
|
觸摸屏是往PLC的寄存器里面寫值,而PLC并不往觸摸屏的寄存器里面寫東西啊,也只是一個單方向的寫。 如果你非要那樣做,通過編程也能實現(xiàn),經(jīng)過兩個其他的寄存器判斷中轉(zhuǎn)一下就可以了,但是沒有什么意義! |
---|---|
|
沸騰的冰
級別: 略有小成
|
有兩種方案,第一種比較簡單,也是我一直采用的辦法,將系統(tǒng)分為遠(yuǎn)程和本地兩種模式就可以了,模式轉(zhuǎn)換的時候,把數(shù)據(jù)往相應(yīng)的對方傳輸一下就可以了! 第二種方案,WINCC把直接讀寫DB0.DBD0,這個寄存器的數(shù)據(jù)傳到VD4里面,同時觸摸屏對VD0進行讀寫,如果VD0和VD4不相等的時候,判斷誰的值是最新的,如果VD4是最新的,說明數(shù)據(jù)是從WINCC來的,然后直接覆蓋VD0,如果VD0是最新的,說明數(shù)據(jù)是從觸摸屏來的,把VD0的數(shù)據(jù)傳給DB0.DBD4,然后DB0.DBD4覆蓋DB0.DBD0。 我這么說不知道你能否看明白 |
---|---|
本帖最近評分記錄: |