CPU226的port1口接威倫觸摸屏,port0口接FPGA控制板,PLC和FPGA控制板之間為PPI通訊。在PLC程序上做一個(gè)順序賦值的序列,將VW1000中的值寫(xiě)給FPGA控制板。如第1s給VW1000賦值a,過(guò)625ms后給VW1000賦值b,再過(guò)1.5s給VW1000賦值回a。在觸摸屏上設(shè)置一個(gè)按鈕啟動(dòng)該順序賦值的序列,PLC在識(shí)別按鈕上升沿信號(hào)時(shí)開(kāi)始序列。從FPGA控制板捕捉到的信號(hào)看,反映出的前述序列延時(shí)并不是625ms和1.5s,有時(shí)大一些有時(shí)小一些。請(qǐng)問(wèn)這是PPI通訊延時(shí)導(dǎo)致的嗎?有什么方法可以解決?
是由兩個(gè)方面影響的。
一時(shí)定時(shí)器本身就是異步更新的。,定時(shí)器位和當(dāng)前值的更新不與掃描周期同步。
另一方面就是串行通訊的延時(shí),可以適當(dāng)增加通訊波特率。
定時(shí)部分改進(jìn):
可以使用定時(shí)中斷,S7-200有四個(gè)定時(shí)中斷定時(shí)器可以觸發(fā)中斷進(jìn)程,包含兩個(gè)特殊寄存器(SMB34/SMB35)和兩個(gè)定時(shí)器(T32/T96)中斷。中斷定時(shí)計(jì)時(shí)精確;
特殊寄存器SMB34/SMB35 可設(shè)置25ms,對(duì)應(yīng)中斷事件號(hào)10、11;
再增加一個(gè)計(jì)數(shù)變量,按鈕上升沿給這個(gè)變量復(fù)位為0;
定時(shí)中斷中,先執(zhí)行計(jì)數(shù)自加1功能,
當(dāng)計(jì)數(shù)次數(shù)為 1000/25=40 時(shí),向 VW1000 傳a;
當(dāng)計(jì)數(shù)次數(shù)為 (1000+625)/25=65 時(shí),向 VW1000 傳b;
當(dāng)計(jì)數(shù)次數(shù)為 (1000+625+1500)/25=125 時(shí),向 VW1000 傳a;
另外還得注意計(jì)數(shù)變量什么時(shí)間復(fù)位呢?
定時(shí)器常見(jiàn)問(wèn)題
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/033.html
你這個(gè)所謂的延時(shí)是采用那種方式?普通定時(shí)器?
如果是,這就“對(duì)”了,定時(shí)器的刷新除了T32、T96,其它均是異步的,所謂異步就是于plc程序的掃描周期有關(guān)了,而程序段由于具體運(yùn)行程序指令的關(guān)系,每一個(gè)掃描是存在差異的,這些差異造成你的一些誤解。
另外,HMI設(shè)備同樣存在數(shù)據(jù)顯示上的異步,HMI的變量是通過(guò)采集plc數(shù)據(jù),這個(gè)采集是由用戶設(shè)置的采集周期等決定的,mS級(jí)的異步同樣屬于正常范疇了。
最后是通訊了,ppi、modbus,乃至IRT等時(shí)通訊,自你發(fā)送數(shù)據(jù)信息到接收到其它設(shè)備反饋回路的數(shù)據(jù),必須要經(jīng)歷幾個(gè)或者多個(gè)周期的過(guò)程。
這個(gè)過(guò)程我理解為2個(gè)人的對(duì)話,我講一個(gè)事情,你從聽(tīng)到我的講話聲音開(kāi)始,反饋到你的大腦,經(jīng)過(guò)你的思考再反饋出你回答的聲音,再返回到我的大腦,思考判斷為止的整個(gè)過(guò)程。
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國(guó)上海市青浦區(qū)崧盈路398號(hào)6棟