13821917697
承接電氣自動(dòng)化項(xiàng)目、電氣接線圖設(shè)計(jì)、IO點(diǎn)表、電氣元器件選型
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 754 個(gè)
工控威望: 3140 點(diǎn)
下載積分: 13282 分
在線時(shí)間: 1053(小時(shí))
注冊時(shí)間: 2019-12-26
最后登錄: 2024-11-08
查看13821917697的 主題 / 回貼
樓主  發(fā)表于: 2023-12-12 11:53
圖片:
客戶是個(gè)西門子1500的PLC,想導(dǎo)出幾個(gè)指定的數(shù)據(jù),存入一個(gè)固定的exel模板里面,然后打印出來。
圖片里一行就是一個(gè)數(shù)據(jù),應(yīng)用辦法就是先添加一個(gè)空行,雙擊修改里面的屬性,保存設(shè)置就能讀數(shù)據(jù)出來了。然后指定excel的行列坐標(biāo)號,哦模板是文件夾里面有個(gè)模板的excel
這里面用到了幾個(gè)技術(shù)點(diǎn):
1.以太網(wǎng)通訊pingIP的方式 實(shí)現(xiàn)斷線重連。
2.字典和序列化的搭配使用,存儲配置信息。
3.數(shù)據(jù)的采集一開始一行是一個(gè)線程,多線程寫的,但是測試的時(shí)候發(fā)現(xiàn),如果行數(shù)多了,連接個(gè)數(shù)也會變多,會拖垮PLC變的很慢
后來我想起來西門子 S7連接是有個(gè)數(shù)限制的。后來就改成了主線程遍歷的方式,這樣就是一個(gè)連接了,但是這樣如果你數(shù)據(jù)多了,整體采集就
會變慢,這個(gè)我寫的不好,但是好在我的數(shù)據(jù)都少啊就10幾個(gè),賴得改了
4.地址的格式要按照我照片里這種格式寫,我沒有對數(shù)據(jù)地址格式進(jìn)行判斷,也是懶的寫了哈哈,因?yàn)榕渲玫娜丝隙ǘ刂犯袷健E哆有
數(shù)據(jù)類型我沒有寫全啊,我就寫了我需要的一些,你們可以看源代碼里面。
5.調(diào)用了一個(gè)office的dll 可以導(dǎo)出數(shù)據(jù)到excel
6.dgv的增刪,這里我是用了一個(gè)datatable,在這里面弄好之后在放進(jìn)dgv里面去,后來覺得有點(diǎn)麻煩應(yīng)該直接在dgv里面操作。

最后,理論上這個(gè)軟件可以跟300 400 1200 1500以太網(wǎng)通訊,1200 1500記得吧CPU屬性里面,連接機(jī)制有個(gè)putget那個(gè)勾選上。
附件: 鏈接.txt (1 K) 下載次數(shù):132
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯(cuò)
本帖最近評分記錄:
  • 下載積分:+1(gk1234) 感謝分享!
    eaglesence
    eaglesence
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 419 個(gè)
    工控威望: 700 點(diǎn)
    下載積分: 19898 分
    在線時(shí)間: 87(小時(shí))
    注冊時(shí)間: 2019-04-02
    最后登錄: 2024-11-08
    查看eaglesence的 主題 / 回貼
    1樓  發(fā)表于: 2023-12-18 08:55
    可以啊,感謝分享!