13821917697
承接電氣自動化項目、電氣接線圖設(shè)計、IO點表、電氣元器件選型
級別: 工控俠客
|
圖片:
客戶是個西門子1500的PLC,想導(dǎo)出幾個指定的數(shù)據(jù),存入一個固定的exel模板里面,然后打印出來。 圖片里一行就是一個數(shù)據(jù),應(yīng)用辦法就是先添加一個空行,雙擊修改里面的屬性,保存設(shè)置就能讀數(shù)據(jù)出來了。然后指定excel的行列坐標(biāo)號,哦模板是文件夾里面有個模板的excel 這里面用到了幾個技術(shù)點: 1.以太網(wǎng)通訊pingIP的方式 實現(xiàn)斷線重連。 2.字典和序列化的搭配使用,存儲配置信息。 3.數(shù)據(jù)的采集一開始一行是一個線程,多線程寫的,但是測試的時候發(fā)現(xiàn),如果行數(shù)多了,連接個數(shù)也會變多,會拖垮PLC變的很慢 后來我想起來西門子 S7連接是有個數(shù)限制的。后來就改成了主線程遍歷的方式,這樣就是一個連接了,但是這樣如果你數(shù)據(jù)多了,整體采集就 會變慢,這個我寫的不好,但是好在我的數(shù)據(jù)都少啊就10幾個,賴得改了 4.地址的格式要按照我照片里這種格式寫,我沒有對數(shù)據(jù)地址格式進行判斷,也是懶的寫了哈哈,因為配置的人肯定懂地址格式。哦還有 數(shù)據(jù)類型我沒有寫全啊,我就寫了我需要的一些,你們可以看源代碼里面。 5.調(diào)用了一個office的dll 可以導(dǎo)出數(shù)據(jù)到excel 6.dgv的增刪,這里我是用了一個datatable,在這里面弄好之后在放進dgv里面去,后來覺得有點麻煩應(yīng)該直接在dgv里面操作。 最后,理論上這個軟件可以跟300 400 1200 1500以太網(wǎng)通訊,1200 1500記得吧CPU屬性里面,連接機制有個putget那個勾選上。 |
---|---|
本帖最近評分記錄: |
yuanbubble
級別: 略有小成
|
S7TcpCommunication以及S7Client這兩個文件是標(biāo)準(zhǔn)庫還是哪里的,冒昧求分享。 |
---|---|
|