產(chǎn)地類別 | 進(jìn)口 |
---|
使制造業(yè)更高效、更靈活
數(shù)字化對(duì)制造業(yè)影響巨大。通過(guò)貫穿產(chǎn)品研發(fā)、生產(chǎn)和供應(yīng)鏈的數(shù)據(jù)整合,離散工業(yè)和過(guò)程工業(yè)都獲益良多,從而幫助制造企業(yè)靈活應(yīng)對(duì)客戶的多樣化需求。
滿足不同客戶需求,助力中國(guó)制造業(yè)轉(zhuǎn)型
![]() |
參考價(jià) | ¥88 |
訂貨量 | 1 |
更新時(shí)間:2018-12-25 16:11:31瀏覽次數(shù):267
聯(lián)系我們時(shí)請(qǐng)說(shuō)明是化工儀器網(wǎng)上看到的信息,謝謝!
日照西門子模塊代理商
西門子S7-300PLC如何控制伺服電機(jī)?
簡(jiǎn)易的就是CPU內(nèi)置的運(yùn)動(dòng)控制軟件功能塊,編碼器輸入模塊,模擬輸出模塊 ,伺服驅(qū)動(dòng)器,伺服電機(jī)組成。 因?yàn)镃PU控制回路周期長(zhǎng),控制性能不高。
專業(yè)的是采用FM354 定位模塊, CPU315T, CPU317T 加ADI4 控制帶模擬輸入速度給定的伺服驅(qū)動(dòng)器和伺服電機(jī)。如果采用西門子帶總線通訊的伺服驅(qū)動(dòng)則只要CPU315T和CPU317T通過(guò)總線通訊就可以組成伺服系統(tǒng)了。
S7-300是德國(guó)西門子公司生產(chǎn)的可編程序控制器(PLC)系列產(chǎn)品之一。其模塊化結(jié)構(gòu)、易于實(shí)現(xiàn)分布式的配置以及性價(jià)比高、電磁兼容性強(qiáng)、抗震動(dòng)沖擊性能好,使其在廣泛的工業(yè)控制領(lǐng)域中,成為一種既經(jīng)濟(jì)又切合實(shí)際的解決方案。
工作原理
PLC采用循環(huán)執(zhí)行用戶程序的方式。OB1 是用于循環(huán)處理的組織塊(主程序),它可以調(diào)用別的邏輯塊,或被中斷程序(組織塊)中斷。
在起動(dòng)完成后,不斷地循環(huán)調(diào)用OB1,在OB1 中可以調(diào)用其它邏輯塊(FB, SFB, FC 或SFC)。
循環(huán)程序處理過(guò)程可以被某些事件中斷。
在循環(huán)程序處理過(guò)程中,CPU 并不直接訪問(wèn)I/O模塊中的輸入地址區(qū)和輸出地址區(qū),而是訪問(wèn)CPU 內(nèi)部的輸入/輸出過(guò)程映像區(qū)(在CPU的系統(tǒng)存儲(chǔ)區(qū))
編程器是PLC的重要外圍設(shè)備。利用編程器將用戶程序送入PLC的存儲(chǔ)器,還可以用編程器檢查程序,修改程序,監(jiān)視PLC的工作狀態(tài)。
常見的給PLC編程的裝置有手持式編程器和計(jì)算機(jī)編程方式。在可編程序控制器發(fā)展的初期,使用編程器來(lái)編程。小型可編程序控制器使用價(jià)格較便宜、攜帶方便的手持式編程器,大中型可編程序控制器則使用以小CRT作為顯示器的便攜式編程器。編程器只能對(duì)某一廠家的某些產(chǎn)品編程,使用范圍有限。手持式編程器不能直接輸入和編輯梯形圖,只能輸入和編輯指令,但它有體積小,便于攜帶,可用于現(xiàn)場(chǎng)調(diào)試,價(jià)格便宜的優(yōu)點(diǎn)。
計(jì)算機(jī)的普及,使得越來(lái)越多的用戶使用基于個(gè)人計(jì)算機(jī)的編程軟件。目前有的可編程序控制器廠商或經(jīng)銷商向用戶提供編程軟件,在個(gè)人計(jì)算機(jī)上添加適當(dāng)?shù)挠布涌诤蛙浖?,即可用個(gè)人計(jì)算機(jī)對(duì)PLC編程。利用微機(jī)作為編程器,可以直接編制并顯示梯形圖,程序可以存盤、打印、調(diào)試,對(duì)于查找故障非常有利。
對(duì)于立即寫(Immediate Write)功能,必須如下面舉例所示,生成符號(hào)程序段。
對(duì)于有時(shí)間限制的應(yīng)用,可以以比每OB1 掃描循環(huán)一次的正常情況快的速度,將一個(gè)數(shù)字量輸出的當(dāng)前狀態(tài)發(fā)送到輸出模板。立即寫功能可以在掃描立即寫邏輯程序級(jí)的同時(shí),將一個(gè)數(shù)字量輸出寫入輸出模板。否則,當(dāng) Q存儲(chǔ)區(qū)使用 P存儲(chǔ)狀態(tài)更新時(shí),必須等到下一OB1掃描循環(huán)結(jié)束。
為了將一個(gè)輸出立即寫入輸出模板,應(yīng)使用外圍輸出(PQ)存儲(chǔ)區(qū),而不使用輸出(Q)
存儲(chǔ)區(qū)。外圍輸出存儲(chǔ)區(qū)可以作為一個(gè)字節(jié)、一個(gè)字或一個(gè)雙字讀取。因此,通過(guò)一個(gè)線圈元素,不能更新一個(gè)單獨(dú)的數(shù)字量輸出。為了將一個(gè)數(shù)字量輸出的狀態(tài)立即寫入輸出模板, 包含相關(guān)位的Q存儲(chǔ)器的字節(jié)、 字或雙字可以有條件地復(fù)制到相應(yīng)的PQ存儲(chǔ)器中 (直接輸出TPC1062K的模板地址)。
小心
• 由于 Q 存儲(chǔ)器的整個(gè)字節(jié)被寫入輸出模板,當(dāng)進(jìn)行立即輸出時(shí),該字節(jié)中的所有輸出位都將被更新。
• 如果一個(gè)輸出位在不應(yīng)發(fā)送到輸出模板中的整個(gè)程序中出現(xiàn)中間狀態(tài)(1/0),立即寫功能會(huì)造成危險(xiǎn)情況(輸出瞬時(shí)脈沖)。
• 作為一般設(shè)計(jì)規(guī)則,在一個(gè)MT6100I的程序中,外部輸出模板只能認(rèn)為是一個(gè)線圈。如果遵守該設(shè)計(jì)規(guī)則,可以避免使用立即輸出時(shí)的大多數(shù)潛在問(wèn)題。
舉例
等效于立即寫入外圍數(shù)字量輸出模板 5通道1的梯形邏輯程序段。
尋址輸出Q字節(jié) (QB5) 的位狀態(tài)可以修改, 也可以保持不變。 Q5.1被賦給程序段1 中I0.1的信號(hào)狀態(tài)。QB5被復(fù)制到相應(yīng)的直接外圍輸出存儲(chǔ)區(qū)(PQB5)。
字PIW1包含I1.1的立即狀態(tài)。 PIW1與 W#16#0002進(jìn)行與 (AND) 邏輯運(yùn)算。 如果 PB1中的 I1.1(第 2位)為“1”,則結(jié)果非“0”。如果 WAND_W 指令的結(jié)果不等于“0”,則接點(diǎn)“A<>0”通過(guò)電壓。
現(xiàn)在上位機(jī)系統(tǒng)中很多要求具備流量計(jì)的流量累計(jì)功能,由此引出的幾個(gè)問(wèn)題,期望與大家分享。
問(wèn)題1:自行編寫流量累計(jì)程序
自行編寫流量累計(jì)程序的原理,其實(shí)就是積分的最原始算法概念,把單位小間隔時(shí)間內(nèi)的瞬時(shí)流量乘以單位間隔時(shí)間,得到單位小間隔時(shí)間內(nèi)的流量,再把這些小流量累加起來(lái),就的到了累計(jì)流量。
在流量累計(jì)編程中經(jīng)常會(huì)遇到實(shí)數(shù)加法問(wèn)題,實(shí)數(shù)加法運(yùn)算的注意事項(xiàng)也應(yīng)當(dāng)引起編程人員的重視,請(qǐng)看
下例程序(假設(shè)其在OB35中被調(diào)用,目的為每隔一定時(shí)間間隔就累計(jì)一次流量)
L MD0 //累計(jì)流量存儲(chǔ)值
L MD4 //流量瞬時(shí)值
+R
T MD 0
以上的程序是否存在問(wèn)題?
很多人會(huì)認(rèn)為沒(méi)有問(wèn)題,但實(shí)際情況是此程序在運(yùn)行一段時(shí)間后就將出現(xiàn)錯(cuò)誤。此程序在運(yùn)行之初是正常的,因?yàn)槔塾?jì)流量初始值及流量瞬時(shí)值都為一個(gè)很小的浮點(diǎn)數(shù),兩數(shù)相加后,結(jié)果正確。但是當(dāng)一段時(shí)間后,累計(jì)流量的數(shù)值逐漸增大,當(dāng)它與瞬時(shí)流量的數(shù)值相差很遠(yuǎn)的時(shí)候,兩者執(zhí)行加法操作后,瞬時(shí)流量的數(shù)值將被忽略掉(如9999990.0與0.2做加法操作)。其實(shí)具備計(jì)算機(jī)常識(shí)的人都應(yīng)當(dāng)清楚這一點(diǎn),這是由于浮點(diǎn)數(shù)的存儲(chǔ)機(jī)制造成的,是所有計(jì)算機(jī)方面編程都需要考慮的問(wèn)題。這個(gè)問(wèn)題可以通過(guò)使用二次累加或多次累加的方法來(lái)解決。所以在編程時(shí)應(yīng)避免數(shù)量級(jí)相差太多的浮點(diǎn)數(shù)之間進(jìn)行運(yùn)算。很多人反映“加法指令不好用了”,很有可能就是數(shù)量級(jí)相差很多的實(shí)數(shù)進(jìn)行了加法運(yùn)算。
問(wèn)題2:累計(jì)流量誤差問(wèn)題
對(duì)于積分算法,取小的矩形對(duì)流量進(jìn)行累計(jì),肯定是矩形劃分越細(xì),誤差越小,*是不可能的。
問(wèn)題3:流量計(jì)與PLC構(gòu)成的系統(tǒng)的誤差
流量計(jì)有多種多樣,下面舉些例子:
1、流量計(jì)本身沒(méi)有累計(jì)流量功能,但可以把瞬時(shí)流量以模擬量的方式(例如4-20mA)輸出。
此時(shí)累計(jì)流量的最大誤差可以估算為:
流量計(jì)本身誤差 * 流量計(jì)D/A誤差 * 模擬量模塊A/D誤差 * PLC流量累計(jì)算法誤差假設(shè)上面所有誤差都是1%,則最后的誤差約為:4.06%
1.01*1.01*1.01*1.01=1.0406
對(duì)于某些流量計(jì),本身的瞬時(shí)流量誤差可能就是3%,所以這樣的系統(tǒng)累計(jì)流量的誤差可能還要大些。
2、流量計(jì)本身沒(méi)有累計(jì)流量功能,但可以把瞬時(shí)流量以數(shù)字量的方式輸出。
有些流量計(jì)提供數(shù)字量接口,可以連接PLC的數(shù)字量輸入模板,流量計(jì)每流過(guò)一定流量后(例如0.1噸),此輸入點(diǎn)就導(dǎo)通一次,PLC就把累計(jì)流量累加0.1噸即可。
此類系統(tǒng)避免了A/D,D/A轉(zhuǎn)化的誤差,以及PLC累計(jì)算法誤差。但是會(huì)出現(xiàn)一定時(shí)間內(nèi)累計(jì)流量不變化的情況,實(shí)時(shí)性不好(每0.1噸累積的時(shí)間)。
3、流量計(jì)本身有累計(jì)流量功能,同時(shí)可以把瞬時(shí)流量以模擬量的方式(例如4-20mA)輸出,但無(wú)法將累計(jì)流量數(shù)值送出。
流量計(jì)本身累積流量的數(shù)值,最后很有可能與PLC的累計(jì)流量數(shù)值相差很大,原因可能是多方面造成的,除去系統(tǒng)累計(jì)流量誤差的因素,如果PLC系統(tǒng)檢修時(shí),流量計(jì)還計(jì)量,則PLC無(wú)法累積這部分流量。
4、流量計(jì)本身有累計(jì)流量功能,同時(shí)可以通過(guò)通信的方式,把瞬時(shí)流量及累計(jì)流量數(shù)值送給PLC。這種情況較理想,但系統(tǒng)的成本也最高。
西門子S7-200PLC特殊指令
特殊指令如表4-27所示。PLC中一些實(shí)現(xiàn)特殊功能的硬件需要通過(guò)特殊指令來(lái)使用,可實(shí)現(xiàn)特定的復(fù)雜的控制目的,同時(shí)程序的編制非常簡(jiǎn)單。
表4-27 特殊指令
名稱 | 指令格式
(語(yǔ)句表) | 功能 | 操作數(shù) |
中斷指令 | ATCH INT,EVNT | 把一個(gè)中斷事件(EVNT)和一個(gè)中斷程序聯(lián)系起來(lái),并允許該中斷事件 | INT:常數(shù)
EVNT:常數(shù)(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33) |
DTCH EVNT | 截?cái)嘁粋€(gè)中斷事件和所有中斷程序的聯(lián)系,并禁止該中斷事件 | ||
ENI | 全局地允許所有被連接的中斷事件 | 無(wú) | |
DISI | 全局地關(guān)閉所有被連接的中斷事件 | ||
CRETI | 根據(jù)邏輯操作的條件從中斷程序中返回 | ||
RETI | 位于中斷程序結(jié)束,是必選部分,程序編譯時(shí)軟件自動(dòng)在程序結(jié)尾加入該指令 | ||
通信指令 | NETR TBL,PORT | 初始化通訊操作,通過(guò)指令端口(PORT)從遠(yuǎn)程設(shè)備上接收數(shù)據(jù)并形成表(TBL)??梢詮倪h(yuǎn)程站點(diǎn)讀最多16個(gè)字節(jié)的信息 | TBL:VB,MB,*VD,*AC,*LD
PORT:常數(shù) |
NETW TBL,PORT | 初始化通訊操作,通過(guò)端口(PORT)向遠(yuǎn)程設(shè)備寫表(TBL)中的數(shù)據(jù),可以向遠(yuǎn)程站點(diǎn)寫最多16個(gè)字節(jié)的信息 | ||
XMT TBL,PORT | 用于自由端口模式。激活發(fā)送數(shù)據(jù)緩沖區(qū)(TBL)中的數(shù)據(jù),數(shù)據(jù)緩沖區(qū)的*個(gè)數(shù)據(jù)指明了要發(fā)送的字節(jié)數(shù),PORT用于發(fā)送的端口 | TBL:VB,IB,QB,MB,SB,SMB,*VD,*AC,*LD
PORT:常數(shù)(CPU221/222/224為0;CPU226為0或1) | |
RCV TBL,PORT | 激活初始化或結(jié)束接收信息的服務(wù)。通過(guò)端口(PORT)接收的信息存儲(chǔ)于數(shù)據(jù)緩沖區(qū)(TBL),數(shù)據(jù)緩沖區(qū)的*個(gè)數(shù)據(jù)指明了接收的字節(jié)數(shù) | ||
GPA ADDR,PORT | 讀取PORT的CPU口的站地址,將數(shù)值放入ADDR的地址中 | ADDR:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
在SPA指令中ADDR還可以是常數(shù) PORT:常數(shù) | |
SPA ADDR,PORT | 將CPU口的站地址(PORT)設(shè)置為ADDR的數(shù)值 | ||
時(shí)鐘指令 | TODR T | 讀當(dāng)前時(shí)間和日期并把它裝入一個(gè)8字節(jié)的緩沖區(qū)(起始地址為T) | T:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD |
TODW T | 將包含當(dāng)前時(shí)間和日期的一個(gè)8字節(jié)的緩沖區(qū)(起始地址是T)裝入時(shí)鐘 | ||
高速計(jì)數(shù)器指令 | HDEF HSC,MODE | 為的高速計(jì)數(shù)器分配一種工作模式。每個(gè)高速計(jì)數(shù)器使用之前必須使用HDEF指令,且只能使用一次 | HSC:常數(shù)(0~5)
MODE:常數(shù)(0~11) |
HSC N | 根據(jù)高速計(jì)數(shù)器特殊存儲(chǔ)器位的狀態(tài),按照HDEF指令的工作模式,設(shè)置和控制高速計(jì)數(shù)器。N了高速計(jì)數(shù)器號(hào) | N:常數(shù)(0~5) | |
高速脈沖輸出指令 | PLS Q | 檢測(cè)用戶程序設(shè)置的特殊存儲(chǔ)器位,激活由控制位定義的脈沖操作,從Q0.0或Q0.1輸出高速脈沖
可用于激活高速脈沖串輸出(PTO)或?qū)挾瓤烧{(diào)脈沖輸出(PWM) | Q:常數(shù)(0或1) |
PID回路指令 | PID TBL,LOOP | 運(yùn)用回路表中的輸入和組態(tài)信息,進(jìn)行PID運(yùn)算。要執(zhí)行該指令,邏輯堆棧頂(TOS)必須為ON狀態(tài)。TBL回路表的起始地址,LOOP控制回路號(hào)
回路表包含9個(gè)用來(lái)控制和監(jiān)視PID運(yùn)算的參數(shù):過(guò)程變量當(dāng)前值(PVn),過(guò)程變量前值(PVn-1),給定值(SPn),輸出值(Mn),增益(Kc),采樣時(shí)間(Ts),積分時(shí)間(Ti),微分時(shí)間(Td)和積分項(xiàng)前值(MX) 為使PID計(jì)算是以所要求的采樣時(shí)間進(jìn)行,應(yīng)在定時(shí)中斷執(zhí)行中斷服務(wù)程序或在由定時(shí)器控制的主程序中完成,其中定時(shí)時(shí)間必須填入回路表中,以作為PID指令的一個(gè)輸入?yún)?shù) | TBL:VB
LOOP:常數(shù)(0到7) |
日照西門子模塊代理商