1.C#語(yǔ)言開(kāi)發(fā),采用NET4.0框架,模塊化設(shè)計(jì),通信效率不怎么高 可以湊合用。
2.工程結(jié)構(gòu)類(lèi)似OPC通訊方式,采用Tag的方式,通過(guò)標(biāo)簽名就可以讀寫(xiě)寄存器。
3.采用XML配置式標(biāo)簽的方式實(shí)時(shí)讀寫(xiě)PLC內(nèi)部寄存器,可讀寫(xiě)寄存器包括I、Q、PI、PA、M、DB。
4.具有PLC斷線重連功能,通訊穩(wěn)定可靠。
5.完全開(kāi)源免費(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
源碼開(kāi)源:
https://github.com/falionname/Siemens
西門(mén)子PLC S7-200/300/400/1200/1500 TCP 通訊組件V2.0 工業(yè)自動(dòng)化監(jiān)控管理軟件里面有一部分是自己用高級(jí)語(yǔ)言開(kāi)發(fā),一部分是用組態(tài)軟件,用組態(tài)軟件的組態(tài)軟件的也需要買(mǎi)軟件,雖然開(kāi)發(fā)快,但價(jià)格貴而且不靈活,無(wú)法開(kāi)發(fā)更加復(fù)雜的業(yè)務(wù)了,本組件面向的主要用戶(hù)是采用高級(jí)開(kāi)發(fā)語(yǔ)言(如C++,C#,VB,java等)開(kāi)發(fā)監(jiān)控管理系統(tǒng)的用戶(hù),通過(guò)通訊中間件,能夠在開(kāi)發(fā)軟件過(guò)程中更加專(zhuān)注于自身的生產(chǎn)業(yè)務(wù)流程,而無(wú)需要考慮設(shè)備通訊的問(wèn)題,大大縮短開(kāi)發(fā)時(shí)間,更加提升了軟件整體質(zhì)量。 
1.C#語(yǔ)言開(kāi)發(fā),采用NET4.0框架,模塊化設(shè)計(jì),二次開(kāi)發(fā)使用方便。 2.工程結(jié)構(gòu)類(lèi)似OPC通訊方式,采用Tag的方式,通過(guò)標(biāo)簽名就可以讀寫(xiě)寄存器。 3.采用XML配置式標(biāo)簽的方式實(shí)時(shí)讀寫(xiě)PLC內(nèi)部寄存器,可讀寫(xiě)寄存器包括I、Q、PI、PA、M、DB。 4.具有PLC斷線重連功能,通訊穩(wěn)定可靠。 5.正式版功能支持至少10路PLC同時(shí)通訊,每個(gè)PLC讀寫(xiě)點(diǎn)數(shù)<=20000點(diǎn)。 6.如需要可提供COM形式組件,供C++、VB等其他語(yǔ)言調(diào)用。 本軟件為測(cè)試版本,僅供測(cè)試用途,測(cè)試版本會(huì)有16的變量點(diǎn)的限制。如需應(yīng)用到現(xiàn)場(chǎng)工程,請(qǐng)購(gòu)買(mǎi)正式版二次開(kāi)發(fā)組件,屆時(shí)將提供例程源碼和函數(shù)說(shuō)明文檔。 測(cè)試軟件下載地址: syscfg.xml文件說(shuō)明: 1.該文件是配置讀寫(xiě)PLC寄存器重要文件,可根據(jù)自身項(xiàng)目需要配置讀寫(xiě)的標(biāo)簽。 2.節(jié)點(diǎn)說(shuō)明 Device節(jié)點(diǎn): - ip: PLC的IP地址,這里面可以設(shè)置,代碼里面也可以設(shè)置,以代碼為最終設(shè)置結(jié)果。
- PLCType:”1”: S7-200/smart系列,”2”: S7-300/400/1200/1500系列;
- cpuSlotNO:CPU所在的槽號(hào),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)名稱(chēng),全局唯一,不能重復(fù)。
- mmtype:寄存器名稱(chēng),可選 I、Q、PI、PA、M、DB、V(200PLC專(zhuān)用)。
- block:DB塊的地址,如地址DB100.DBW1,其中,block=100,如寄存器不為DB塊,設(shè)為空值。注意,如要讀DB塊數(shù)據(jù),請(qǐng)保證PLC里面里面已經(jīng)建立了相應(yīng)的DB塊,并且塊大小不能小于readCount,不然會(huì)出錯(cuò)!!!
- beginAddress:讀寄存器的起始地址,建議為偶數(shù)。
- readCount:讀的字節(jié)數(shù),不能超過(guò)200,不然效率低。
Tag節(jié)點(diǎn): - name:節(jié)點(diǎn)名稱(chēng),在所屬的TagGroup中的name不能重復(fù)。不同的TagGroup中的兩個(gè)name可以相同。
- address:標(biāo)簽地址,若讀寫(xiě)標(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ù)類(lèi)型,可選 bool,byte,short,int,float。
【bool】:對(duì)用PLC的位(bit)類(lèi)型。 【byte】:對(duì)用PLC的byte類(lèi)型,位8位無(wú)符號(hào)數(shù)。 【short】:對(duì)用PLC的word類(lèi)型,位16位有符號(hào)數(shù)。 【int】:對(duì)用PLC的Dword類(lèi)型,為32位有符號(hào)數(shù) 【float】:對(duì)用PLC的real類(lèi)型,為32位有符號(hào)浮點(diǎn)數(shù)。 附1、S7-1200/1500特殊說(shuō)明:
- 針對(duì)這兩種PLC,需要啟用通信才可讀寫(xiě)數(shù)據(jù),即在TIA軟件中,在CPU的屬性--保護(hù)—聯(lián)結(jié)機(jī)制,勾選“允許來(lái)自遠(yuǎn)程對(duì)象…”如下圖:

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

附2、S7-200TSAP的默認(rèn)設(shè)置界面: 200PLC的設(shè)置圖
|