flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
樓主  發(fā)表于: 2023-08-29 12:32
天天做工控,做的很無聊, 嘗試自己寫了博圖文件解析。

西門子的數(shù)據(jù)塊解釋文件長這樣,  可以用博圖得到。
DATA_BLOCK "hah"
{ DB_Accessible_From_OPC_UA := 'FALSE' ;
S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
NON_RETAIN
   STRUCT
      "1" : Bool;
      "2" : Struct
         "3" : Array[0..1] of Struct
            "8" : Bool;
         END_STRUCT;
         "4" : Array[0..1] of Struct
            "1" : Bool;
            "2" : Bool;
            "3" : Bool;
            "4" : Array[0..1] of Struct
               "5" : Bool;
               "6" : Bool;
            END_STRUCT;
            "7" : Array[0..1] of Struct
               "1" : Bool;
            END_STRUCT;
         END_STRUCT;
      END_STRUCT;
      "3" : Bool;
   END_STRUCT;
BEGIN
END_DATA_BLOCK



下面是轉(zhuǎn)換效果, 感興趣的朋友可以交流。


西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
1樓  發(fā)表于: 2023-11-02 16:32
要問這個有什么用,  用C# 寫個上位機通信時一定用的到。
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
2樓  發(fā)表于: 2023-11-02 16:32
怎么沒有人感興趣啊,  歡迎圍觀。
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
都是風(fēng)景幸會
級別: 正式會員
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 87 點
下載積分: 1195 分
在線時間: 38(小時)
注冊時間: 2022-04-13
最后登錄: 2024-12-18
查看都是風(fēng)景幸會的 主題 / 回貼
3樓  發(fā)表于: 2023-11-02 16:41
很感興趣  樓主繼續(xù)更新啊 最近也在學(xué)C#想先寫個觸摸屏 不知都有什么教程推薦沒有
frostspirit
真空行業(yè)十余年,專業(yè)PVD設(shè)備。
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 59 個
工控威望: 139 點
下載積分: 2406 分
在線時間: 312(小時)
注冊時間: 2019-01-25
最后登錄: 2024-12-20
查看frostspirit的 主題 / 回貼
4樓  發(fā)表于: 2023-11-02 16:43
你這是用S7netplus的嗎
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
5樓  發(fā)表于: 2023-11-02 17:58
引用
引用第3樓都是風(fēng)景幸會于2023-11-02 16:41發(fā)表的  :
很感興趣  樓主繼續(xù)更新啊 最近也在學(xué)C#想先寫個觸摸屏 不知都有什么教程推薦沒有

  一般都去B站找找學(xué)習(xí)資源?醋约汉线m的。
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
6樓  發(fā)表于: 2023-11-02 17:59
引用
引用第4樓frostspirit于2023-11-02 16:43發(fā)表的  :
你這是用S7netplus的嗎

是的 , 就是那個庫。  測試到3萬個變量 , 200ms
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
7樓  發(fā)表于: 2024-03-23 21:45
再截個復(fù)雜一點的解析    
          以前都是S7通信,  但數(shù)據(jù)量太大的時候,比如 幾十個6W字節(jié)的數(shù)據(jù)塊,  轉(zhuǎn)到SOCKET了   。 用SOCKET采集,  單個變量還是S7 寫到PLC .  
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
8樓  發(fā)表于: 2024-03-23 21:50
編程解讀的思路,就是分析文件特點, 其實都是字符串?dāng)?shù)組拆分, 合并, 字典數(shù)據(jù)結(jié)構(gòu)應(yīng)用,集合遍歷,F(xiàn)OR循環(huán), 沒用到什么新鮮玩意。
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家
海你好咸
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 307 個
工控威望: 389 點
下載積分: 2758 分
在線時間: 198(小時)
注冊時間: 2018-12-22
最后登錄: 2024-12-20
查看海你好咸的 主題 / 回貼
9樓  發(fā)表于: 2024-03-27 13:59
挺不錯的啊
海你好咸
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 307 個
工控威望: 389 點
下載積分: 2758 分
在線時間: 198(小時)
注冊時間: 2018-12-22
最后登錄: 2024-12-20
查看海你好咸的 主題 / 回貼
10樓  發(fā)表于: 2024-03-27 14:11
圖片:
有一個問題,如果里面有結(jié)構(gòu)體數(shù)據(jù),除非提前將結(jié)構(gòu)體輸入到上位機代碼里
flyfeky
bilibili 工控貴族
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 889 個
工控威望: 1040 點
下載積分: 2000 分
在線時間: 688(小時)
注冊時間: 2012-05-09
最后登錄: 2024-12-13
查看flyfeky的 主題 / 回貼
11樓  發(fā)表于: 2024-03-27 15:01
引用
引用第10樓海你好咸于2024-03-27 14:11發(fā)表的  :
有一個問題,如果里面有結(jié)構(gòu)體數(shù)據(jù),除非提前將結(jié)構(gòu)體輸入到上位機代碼里


==========
博圖-->從塊生成源-->包含所有關(guān)聯(lián)塊
西門子倍福WPF+C#數(shù)據(jù)庫,槽式設(shè)備專家