西門(mén)子: | 西門(mén)子PLC總代理 |
西門(mén)子PLC: | 西門(mén)子PLC總代理商 |
德國(guó): | 西門(mén)子PLC一級(jí)代理商 |
單價(jià): | 面議 |
發(fā)貨期限: | 自買(mǎi)家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 上海寶山 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2023-12-13 19:46 |
最后更新: | 2023-12-13 19:46 |
瀏覽次數(shù): | 59 |
采購(gòu)咨詢: |
請(qǐng)賣家聯(lián)系我
|
上位機(jī)開(kāi)發(fā)思路
目前比較主流開(kāi)發(fā)上位機(jī)的方式,主要是組態(tài)軟件(觸摸屏)、C#開(kāi)發(fā)上位機(jī),C#開(kāi)發(fā)上位機(jī)與傳統(tǒng)的組態(tài)軟件之間的區(qū)別,主要體現(xiàn)在如下三個(gè)方面:
功能限制:組態(tài)軟件對(duì)于一些特定的需求或者邏輯,會(huì)有一定的局限性,使用上也受到軟件本身的約束;C#開(kāi)發(fā)上位機(jī)完全自主開(kāi)發(fā),幾乎不存在功能上的限制,并且擴(kuò)展方便。
技術(shù)要求:組態(tài)軟件***大的優(yōu)勢(shì)在于方便,因?yàn)樗旧矶技闪艘恍┩ㄓ脜f(xié)議和元件,只需要按照使用說(shuō)明進(jìn)行組態(tài)配置即可;C#開(kāi)發(fā)需要完全自己搭建框架和實(shí)現(xiàn)底層代碼,對(duì)開(kāi)發(fā)者的技術(shù)要求會(huì)更高一些。
價(jià)格成本:組態(tài)軟件需要按套、按點(diǎn)位收費(fèi),意味著每個(gè)項(xiàng)目無(wú)形中都有一個(gè)基礎(chǔ)成本;C#開(kāi)發(fā)上位機(jī)自主開(kāi)發(fā),不需要二次授權(quán)費(fèi)用,并且開(kāi)發(fā)一套之后,可以快速應(yīng)用到其他項(xiàng)目中。
采用C#上位機(jī)開(kāi)發(fā),首先需要考慮的是通信問(wèn)題。西門(mén)子S7-1200支持很多種不同的通信協(xié)議,包括S7、ModbusTCP、TCP/IP、UDP、OPC等,從開(kāi)發(fā)成本上來(lái)說(shuō),我們優(yōu)先考慮S7和ModbusTCP,對(duì)于S7和ModbusTCP通信協(xié)議,比較一下兩者的優(yōu)缺點(diǎn):
S7協(xié)議為西門(mén)子內(nèi)部協(xié)議,協(xié)議本身不公開(kāi),需要調(diào)用或者自己開(kāi)發(fā)通信庫(kù),使用S7通信協(xié)議需要勾選CPU中的允許來(lái)自遠(yuǎn)程對(duì)象的PUT/GET通信訪問(wèn)。
ModbusTCP為公開(kāi)、免費(fèi)協(xié)議,可以自己開(kāi)發(fā)通信庫(kù)或者使用開(kāi)源庫(kù),使用ModbusTCP通信協(xié)議需要編寫(xiě)一定的PLC程序來(lái)實(shí)現(xiàn)地址映射。
從公開(kāi)免費(fèi)和使用范圍的角度來(lái)考慮,這里采用ModbusTCP通信協(xié)議,因?yàn)閷W(xué)會(huì)了ModbusTCP,意味著市場(chǎng)上的大部分儀表、PLC通信都可以搞得定,PLC程序編寫(xiě)如下如下所示:
創(chuàng)建DB塊
這里首先創(chuàng)建一個(gè)DB塊,里面包含了常用的一些操作和參數(shù)設(shè)置,值得注意的是,由于Modbus保持型寄存器的Bit位操作比較麻煩,因此這里我們統(tǒng)一使用Word類型來(lái)代替Bit。
Modbus地址與PLC地址的映射(控制位)
Modbus地址與PLC地址的映射(參數(shù)地址)
ModbusServer程序編寫(xiě)
上位機(jī)UI界面設(shè)計(jì)