2184263820
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 132 個(gè)
工控威望: 201 點(diǎn)
下載積分: 412 分
在線時(shí)間: 16(小時(shí))
注冊(cè)時(shí)間: 2024-02-16
最后登錄: 2024-10-29
查看2184263820的 主題 / 回貼
樓主  發(fā)表于: 2024-03-29 12:50
     之前發(fā)過好多次關(guān)于modbus方面的帖子,關(guān)于200smart標(biāo)準(zhǔn)化的帖子之前就發(fā)了兩三篇,距離現(xiàn)在最近的帖子已經(jīng)超時(shí)鎖定了。這次發(fā)帖是給之前的程序增加了新功能。在一個(gè)高度封裝的子程序里增加新功能是挺困難的,還好成功的完成了。

        完整的介紹程序的功能:

1、不需要編程,只需在數(shù)據(jù)塊里正確填好各項(xiàng)參數(shù),即可完美工作。

2、通信任務(wù)分為輪詢?nèi)蝿?wù)組,和寫優(yōu)先任務(wù)組。輪詢?nèi)蝿?wù)組內(nèi)可以放置寫操作任務(wù)。即寫操作在正常輪流工作里。

3、掉站跳過和定時(shí)掉站恢復(fù)功能。

4、定時(shí)寫優(yōu)先組內(nèi)操作的數(shù)據(jù)讀回功能,即把寫操作變成讀操作把寫入從站的數(shù)據(jù)讀回到PLC。

5、輪詢?nèi)蝿?wù)組里的任意通信任務(wù)可以臨時(shí)退出和隨時(shí)加入輪詢功能里。如果想要人工的將某個(gè)輪詢內(nèi)的通信任務(wù)退出輪詢,將其讀寫操作的0和1改變?yōu)?、1、10、11、以外的任意數(shù)值,這條通信任務(wù)就退出輪詢了。

新增功能

6、以上2~4功能可以通過設(shè)置來啟用和停用。

    假如應(yīng)用中會(huì)出現(xiàn)同一時(shí)刻(同一掃描周期)的多個(gè)寫操作,那么請(qǐng)把高優(yōu)先級(jí)的寫任務(wù)寫在小序號(hào)(其實(shí)沒序號(hào))的寫操作任務(wù)里。因?yàn)閷懖僮鞯臋z查是從小序號(hào)開始的,其實(shí)是按順序檢查,先檢查到的先執(zhí)行。

    數(shù)據(jù)塊里的指針賦值是一大麻煩,要么是很大的雙整數(shù),要么是十六進(jìn)制數(shù),很不方便。這次這里的改進(jìn)就是輸入簡(jiǎn)單的雙整數(shù),比始填4700是希望指向VB4700的指針,封裝的子程序在第一個(gè)掃描周期會(huì)將4700這些雙整數(shù)變成指針。當(dāng)然,此數(shù)據(jù)塊中輸入十六進(jìn)制數(shù)和很大的雙整數(shù)值的指針數(shù)值也可以,是兼容的。

    切記設(shè)置好庫內(nèi)存,背影數(shù)據(jù)等的地址,不要出現(xiàn)干涉。干涉或數(shù)據(jù)塊填寫的不正確,程序就工作不起來了。
雙口modbus rtu2.6測(cè)試240328(1).rar (339 K) 下载次数:1219
本帖最近評(píng)分記錄:
  • 下載積分:+1(lxdddd1)
  • 下載積分:+1(rongbing)
    zhenzi917
    級(jí)別: 工控俠客
    精華主題: 0
    發(fā)帖數(shù)量: 948 個(gè)
    工控威望: 3216 點(diǎn)
    下載積分: 715 分
    在線時(shí)間: 278(小時(shí))
    注冊(cè)時(shí)間: 2022-01-13
    最后登錄: 2024-10-30
    查看zhenzi917的 主題 / 回貼
    1樓  發(fā)表于: 2024-04-02 11:46
    謝謝樓主分享  
    命自我立