有沒(méi)有plc的掃描周期是固定的。而我記得一般的plc的掃描周期都是不固定的,但是有的plc的掃描周期是一個(gè)循環(huán)任務(wù),是固定的刷新周期,那么把掃描周期搞成不固定的與固定的會(huì)有什么不同的用處與優(yōu)缺點(diǎn)?
答:掃描周期和 調(diào)用周期是2個(gè)概念。
掃描周期,程序開(kāi)始執(zhí)行執(zhí)行到結(jié)束 cpu花費(fèi)的時(shí)間,叫掃描周期,我想沒(méi)有哪家plc 可以做到固定掃描周期吧。
siemens plc 的程序執(zhí)行分為2類(lèi) ,一個(gè)是ob1 ,不斷地進(jìn)行掃描,當(dāng)有中斷發(fā)生時(shí),暫停,進(jìn)入中斷處理程序,中斷程序完成后,返回繼續(xù)執(zhí)行下面代碼;另外一類(lèi)其他的是各種中斷,固定執(zhí)行間隔 的中斷叫”循環(huán)中斷“,比如ob35,每隔100毫秒cpu操作系統(tǒng)調(diào)用一下ob35 執(zhí)行下里面代碼。
當(dāng)你 把 程序在循環(huán)中斷中調(diào)用時(shí),比如ob35每隔100毫秒執(zhí)行一次,這樣 可以實(shí)現(xiàn) 程序每次在相同間隔后 執(zhí)行一次,比如某些 周期性的過(guò)程值采樣,缺點(diǎn)是如果你的程序過(guò)大,萬(wàn)一在某次執(zhí)行ob35時(shí),程序的掃描周期超過(guò)100毫秒,cpu會(huì)停機(jī)。
當(dāng)使用ob1主循環(huán) 就不存在這個(gè)問(wèn)題(當(dāng)然cpu里有最大掃描周期設(shè)置項(xiàng),當(dāng)ob1掃描時(shí)間大于這個(gè)值時(shí),cpu也會(huì)停機(jī)),缺點(diǎn) 我不認(rèn)為 這樣的方法有什么缺點(diǎn) 只是不能實(shí)現(xiàn)定時(shí)采樣的功能吧。