標(biāo)題: 西門子PLC TCP通訊組件C#源碼 開源(支持S7-200/300/400/1200/1500) [打印本頁]
作者: 發(fā)傻asd 時(shí)間: 2018-4-10 16:52
標(biāo)題: 西門子PLC TCP通訊組件C#源碼 開源(支持S7-200/300/400/1200/1500)
1.C#語言開發(fā),采用NET4.0框架,模塊化設(shè)計(jì),通信效率不怎么高 可以湊合用。
2.工程結(jié)構(gòu)類似OPC通訊方式,采用Tag的方式,通過標(biāo)簽名就可以讀寫寄存器。
3.采用XML配置式標(biāo)簽的方式實(shí)時(shí)讀寫PLC內(nèi)部寄存器,可讀寫寄存器包括I、Q、PI、PA、M、DB。
4.具有PLC斷線重連功能,通訊穩(wěn)定可靠。
5.完全開源免費(fèi)、包括Dll文件、附件內(nèi)包含源代碼。
0.png (47.96 KB, 下載次數(shù): 138)
下載附件
2018-4-10 18:00 上傳
全部資料51hei下載地址:
SiemensPLC通信.zip
(5.22 MB, 下載次數(shù): 324)
2018-4-10 16:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
源碼開源:
https://github.com/falionname/Siemens
西門子PLC S7-200/300/400/1200/1500 TCP 通訊組件V2.0
工業(yè)自動化監(jiān)控管理軟件里面有一部分是自己用高級語言開發(fā),一部分是用組態(tài)軟件,用組態(tài)軟件的組態(tài)軟件的也需要買軟件,雖然開發(fā)快,但價(jià)格貴而且不靈活,無法開發(fā)更加復(fù)雜的業(yè)務(wù)了,本組件面向的主要用戶是采用高級開發(fā)語言(如C++,C#,VB,java等)開發(fā)監(jiān)控管理系統(tǒng)的用戶,通過通訊中間件,能夠在開發(fā)軟件過程中更加專注于自身的生產(chǎn)業(yè)務(wù)流程,而無需要考慮設(shè)備通訊的問題,大大縮短開發(fā)時(shí)間,更加提升了軟件整體質(zhì)量。

1.C#語言開發(fā),采用NET4.0框架,模塊化設(shè)計(jì),二次開發(fā)使用方便。
2.工程結(jié)構(gòu)類似OPC通訊方式,采用Tag的方式,通過標(biāo)簽名就可以讀寫寄存器。
3.采用XML配置式標(biāo)簽的方式實(shí)時(shí)讀寫PLC內(nèi)部寄存器,可讀寫寄存器包括I、Q、PI、PA、M、DB。
4.具有PLC斷線重連功能,通訊穩(wěn)定可靠。
5.正式版功能支持至少10路PLC同時(shí)通訊,每個(gè)PLC讀寫點(diǎn)數(shù)<=20000點(diǎn)。
6.如需要可提供COM形式組件,供C++、VB等其他語言調(diào)用。
本軟件為測試版本,僅供測試用途,測試版本會有16的變量點(diǎn)的限制。如需應(yīng)用到現(xiàn)場工程,請購買正式版二次開發(fā)組件,屆時(shí)將提供例程源碼和函數(shù)說明文檔。
測試軟件下載地址:
syscfg.xml文件說明:
1.該文件是配置讀寫PLC寄存器重要文件,可根據(jù)自身項(xiàng)目需要配置讀寫的標(biāo)簽。
2.節(jié)點(diǎn)說明
Device節(jié)點(diǎn):
- ip: PLC的IP地址,這里面可以設(shè)置,代碼里面也可以設(shè)置,以代碼為最終設(shè)置結(jié)果。
- PLCType:”1”: S7-200/smart系列,”2”: S7-300/400/1200/1500系列;
- cpuSlotNO:CPU所在的槽號,S7-300的PLC一般都為"02",S7-400的PLC一般都為"03", S7-200/1200/1500的PLC一般都為"01"。
- localTASP :S7-200/Smart需要用的參數(shù),S7-200:"10 11",Smart:"02 01" 。其他PLC忽略,其中S7-200的TSAP設(shè)置可參考【附2】。
- remoteTASP:S7-200/Smart需要用的參數(shù),S7-200:"10 01",Smart:"02 00"。其他PLC忽略,其中S7-200的TSAP設(shè)置可參考【附2】。
TagGroup節(jié)點(diǎn):
- name:節(jié)點(diǎn)名稱,全局唯一,不能重復(fù)。
- mmtype:寄存器名稱,可選 I、Q、PI、PA、M、DB、V(200PLC專用)。
- block:DB塊的地址,如地址DB100.DBW1,其中,block=100,如寄存器不為DB塊,設(shè)為空值。注意,如要讀DB塊數(shù)據(jù),請保證PLC里面里面已經(jīng)建立了相應(yīng)的DB塊,并且塊大小不能小于readCount,不然會出錯(cuò)!!!
- beginAddress:讀寄存器的起始地址,建議為偶數(shù)。
- readCount:讀的字節(jié)數(shù),不能超過200,不然效率低。
Tag節(jié)點(diǎn):
- name:節(jié)點(diǎn)名稱,在所屬的TagGroup中的name不能重復(fù)。不同的TagGroup中的兩個(gè)name可以相同。
- address:標(biāo)簽地址,若讀寫標(biāo)簽是位,地址形式應(yīng)該設(shè)置為 N.M(0<M<7),如“100.5”,否則為實(shí)際標(biāo)簽地址。該地址的的大小應(yīng)不小于TagGroup節(jié)點(diǎn)中beginAddress的大小,且不能大于beginAddress 和 readCount的和值。
- dataType:數(shù)據(jù)類型,可選 bool,byte,short,int,float。
【bool】:對用PLC的位(bit)類型。
【byte】:對用PLC的byte類型,位8位無符號數(shù)。
【short】:對用PLC的word類型,位16位有符號數(shù)。
【int】:對用PLC的Dword類型,為32位有符號數(shù)
【float】:對用PLC的real類型,為32位有符號浮點(diǎn)數(shù)。
附1、S7-1200/1500特殊說明:
- 針對這兩種PLC,需要啟用通信才可讀寫數(shù)據(jù),即在TIA軟件中,在CPU的屬性--保護(hù)—聯(lián)結(jié)機(jī)制,勾選“允許來自遠(yuǎn)程對象…”如下圖:

- 針對DB塊的讀寫,需要進(jìn)行如下操作,使得按照標(biāo)準(zhǔn)的地址進(jìn)行訪問,TIA軟件中在對應(yīng)的數(shù)據(jù)塊點(diǎn)擊鼠標(biāo)右鍵選擇屬性,不勾選“優(yōu)化的塊訪問”,如下圖:

附2、S7-200TSAP的默認(rèn)設(shè)置界面:
200PLC的設(shè)置圖
作者: 電子學(xué)院 時(shí)間: 2018-4-11 10:05
樓主資料很不錯(cuò),頂一下
作者: 天下1213 時(shí)間: 2018-4-23 18:34
謝謝樓主的資料,看著不錯(cuò),可以學(xué)學(xué)了
作者: 譚業(yè)新 時(shí)間: 2018-5-30 15:29
非常需要,感謝
作者: wuditnt 時(shí)間: 2018-6-12 15:11
發(fā)布盜版軟件是違法行為,asd無恥人自有報(bào)應(yīng)!!請支持正版。qq: 920147366
作者: autoctrl888 時(shí)間: 2018-7-16 20:11
這里的源碼比較全:
PC與PLC通訊源代碼
作者: caesar_sha 時(shí)間: 2018-8-13 09:14
謝謝樓主分享
作者: caesar_sha 時(shí)間: 2018-8-13 09:14
謝謝樓主,正需要
作者: hkqy9981 時(shí)間: 2018-11-29 17:19
我是來跨界學(xué)習(xí)的
作者: foolishegg 時(shí)間: 2018-12-4 14:36
謝謝, 學(xué)習(xí)學(xué)習(xí)
作者: 1915881702 時(shí)間: 2019-1-16 11:44
謝謝, 學(xué)習(xí)學(xué)習(xí)
作者: karl_wang 時(shí)間: 2019-2-1 14:06
請問這個(gè)采集數(shù)據(jù)的頻率是多少?謝謝
作者: terrors 時(shí)間: 2019-2-27 22:18
很不錯(cuò)
作者: 孔德雄 時(shí)間: 2019-3-7 11:34
很不錯(cuò)
作者: llevil 時(shí)間: 2019-5-14 14:47
謝謝樓主分享
作者: leepingan 時(shí)間: 2019-7-25 16:44
那個(gè)db文件怎么打開
作者: heichizdh 時(shí)間: 2019-12-10 17:31
bucuo ,很不錯(cuò)
作者: 舞者人生 時(shí)間: 2019-12-25 09:15
支持一下樓主
作者: yunlu_55 時(shí)間: 2020-2-22 18:54
謝謝樓主的資料,看著不錯(cuò),可以學(xué)學(xué)了
作者: yunlu_55 時(shí)間: 2020-2-22 18:55
正在學(xué)習(xí),謝謝!
作者: qiang0324 時(shí)間: 2020-4-15 10:33
想下載一個(gè)看看
作者: 巴巴的 時(shí)間: 2020-5-28 09:44
必須支持太厲害了
作者: Edward一 時(shí)間: 2020-7-13 14:27
謝謝樓主分享,正是最需要的
作者: q447552640 時(shí)間: 2020-8-24 19:52
樓主,請問S7-200 Smart 的M區(qū)域,為什么一直提示我地址不正確
作者: bemc 時(shí)間: 2020-8-25 07:54
謝謝樓主,學(xué)習(xí)一下
作者: q447552640 時(shí)間: 2020-9-8 23:23
知道怎么回事了,代碼里M區(qū)的那部分被注釋掉了,已經(jīng)調(diào)通了
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |