Dear all
RSLogix5000 của Rockwell Automation ngoài những lệnh cơ bản trong tập lệnh thì phần mềm cũng cho phép khách hàng (nhà phát triển , lập trình viên ...) phát triển những lệnh mới phù hợp vời nhu cầu sử dụng. và chỉ Version V16 trở lên mới được phép .
Như các bạn đã biết với PLC khi cần điều khiển một tín hiệu gì đó mà nó hay lặp lại ( với nhiều tín hiệu ) thì mọi người thường lập trình nhiều chương trình con để control những tín hiệu đó. Chính vì vậy sẽ dẫn đến chương trình sẽ lặp lại nhiều lần và dẫn đến lỗi có thể xãy ra.
Rockwell Automation có thể cho phép người dùng tạo ra những lệnh như vậy ,
mình ví dụ :
thay vì dùng một đoạn code thì mình chỉ sử dụng một lệnh mà vẫn đảm bảo yêu cầu điều khiển .
còn đây là lệnh mình tạo để điều khiển Pump.
và đây là code của nó.
////////// Pump control by Level with Auto/Man Select ///////////////////
Delay_Start_Motor.PRE := 5000; // Delay check Motor fault
/////// Select Mode //////////
auto := not Auto_Man ;
man := Auto_Man;
//// Control Motor /////////
Enable := ((man and (Start or Enable ))or (auto and Level_bit)) and not Stop and not Motor_fault and not CB_trip_bit;
Motor_on := Enable;
/////// Motor start fault ///////
Delay_Start_Motor.TimerEnable := Motor_on and not Contact_NC;
TONR(Delay_Start_Motor );
if Delay_Start_Motor.DN then
Motor_fault := 1;
end_if;
// Reset Fault ///////
if Reset then
Motor_fault :=0;
CB_trip_bit :=0;
end_if;
///////// Level control /////////
if High_level and Low_Level then
Level_bit :=1;
else
if not Low_Level then
Level_bit := 0;
else
end_if;
end_if;
/// CB motor fsult /////
if CB_trip then
CB_trip_bit := 1;
Motor_fault := CB_trip_bit;
end_if;
/////////////////////////
Mình hướng dẫn tạo lệnh sau ....
chúc một ngày vui vẽ..
Đánh dấu