注:本文默認電機連接是使用斷路器、接觸器實現的直接啟動電路,對于變頻器類的控制需要做一些配置才能使用。
控制要求如下:
可設置每個電機的額定運行時間,當電機的實際運行時間大于額定運行時間時,則自動關閉并調度下一臺可用電機;
當電機出現故障(比如斷路器跳閘或超時無反饋),則電機狀態變為不可用。不可用電機不參加調度;
當故障消除并復位后,電機狀態重新變為可用,可重新參加調度;
具體如下:
打開博途開發環境,新建項目,添加用戶自定義數據類型:typeMotorSchedule,如下圖所示:
其中:
Command:包括啟動(start)和停止(stop),用來啟動或停止電機;
Para:電機控制參數,包括反饋時間和額定運行時間,單位,秒;
ExtraSignal:外部信號,包括斷路器和接觸器反饋;
State:狀態,包括:輸出位(Q)、錯誤位(error)、釋放(release,表示電機是否可用)、選中(selected,表示電機是否被選中)、狀態(status,電機狀態,非0等于出錯)、實際運行時間(actualRunningTime,單位,秒);
添加函數塊,命名為:FB5017_MotorScheduler,聲明變量如下圖所示:
函數塊代碼比較長,我將其分成多個區域:
功能說明;
初始化(initialize);
復位(reset);
調度(sheduler);
具體如下:
功能說明:
初始化:
復位:
調度:
使用該函數塊時需要先初始化,然后使能。當出現錯誤時,要進行復位。
可以在全局數據塊中創建電機數組(typeMotorSchedule),然后將斷路器、接觸器的信號寫入電機數組的ExtraSignal中,并將電機狀態State.Q輸出到硬件的輸出通道中。
我創建了測試函數塊及全局數據塊對電機調度程序進行了測試,包括斷路器的錯誤測試,結果是OK的。
審核編輯:劉清
-
電機控制
+關注
關注
3537文章
1883瀏覽量
268979 -
變頻器
+關注
關注
251文章
6571瀏覽量
145166 -
接觸器
+關注
關注
63文章
1197瀏覽量
64493 -
斷路器
+關注
關注
23文章
1952瀏覽量
51878 -
SCL
+關注
關注
1文章
239瀏覽量
17111
原文標題:西門子SCL編程實例——電機運行調度
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論