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