圖片:
圖片:
圖片:
此函數為定時器函數,不使用PLC內部的定時器。
函數為:Time ( INT16U IN_Tm, BOOL *IN_START, INT16U *IN_Set_Time, INT16U IN_TimeUnit )
函數形參:IN_Tm為定時器選擇,和PLC內部T0、T1、T2類似。IN_Tm范圍是0-99,超出范圍不起作用,錯誤碼1。
*IN_START為定時器啟動計時位,形參是布爾指針類型,如果要使用PLC內部M或者HM位作為啟動位,需要使用C語言進行轉換。
*IN_Set_Time為定時器設置時間,為16位整數,參數為指針類型,可以使用&D[0]、&D[1]、&D[2]等形式進行傳參或者自定義。
IN_TimeUnit為定時器計時單位,可以寫10、100、1000、60000ms即10ms、100ms、1000ms(1秒)、60000ms(1分),不是這4個值,將輸出錯誤碼1,定時器不起作用。
需要定時器時,先調用函數,例如Time ( 0, &StartM0, &D[0], 10 ),然后獲得相關的定時器參數函數。
例如:
定時完成函數:BOOL Timer_Done ( INT16U m ),返回值為BOOL值,m為定時器0~99。
定時器正在計時函數:BOOL Timer_Timing ( INT16U m ),返回值為BOOL值,m為定時器0~99。
定時器當前計時值函數:INT16U Timer_Current_Time ( INT16U m ),返回值為16位無符號整數值,m為定時器0~99。
定時器參數錯誤代碼函數:INT8U Timer_Error ( INT16U m ),返回值為8位無符號整數值,m為定時器0~99。
本函數只能使用調試函數,不能使用到工業場景,當你調用此函數累計時間到達9小時后,(可監控寄存器D7000數值大于32400秒,無法修改此寄存器),函數將不起作用,只有停止PLC再啟動,定時器才起作用。
如需去除限制請加QQ:1782038940
注意:使用此文件時,請將XD系列PLC系統固件升級到最新版本
本程序使用在XD系列,軟件版本3.7.14b,使用在XC系列或者其他系列,或者軟件版本低于此版本,不確保是否可行。