SCL 编程语言
SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。
根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。
① 侧栏 在侧栏中可以设置书签和断点。
② 行号 行号显示在程序代码的左侧。
③ 轮廓视图 轮廓视图中将突出显示相应的代码部分。
④ 代码区 在代码区域,可对 SCL 程序进行编辑。
⑤ 绝对操作数的显示 在此表格中列出了赋值给绝对地址的符号操作数。
SCL 编程示例: 控制传送带
下图显示了以电气方式激活的传送带。在传送带的开始端有两个按钮:S1 用于启动,S2 用于停止。在传送带的末端也有两个按钮:S3 用于启动,S4 用于停止。从任何一端都可启动或停止传送带。
Input
StartPushbutton_Left (S1) BOOL 位于传送带左侧的启动按钮
StopPushbutton_Left (S2) BOOL 位于传送带左侧的停止按钮
StartPushbutton_Right (S3) BOOL 位于传送带右侧的启动按钮
StopPushbutton_Right (S4) BOOL 位于传送带右侧的停止按钮
Output:
MOTOR_ON BOOL 启动传送带电机
MOTOR_OFF BOOL 停止传送带电机
SCL
IF "StartPushbutton_Left_S1" OR "StartPushbutton_Right_S3" THEN
"MOTOR_ON" := 1;
"MOTOR_OFF" := 0;
END_IF;
IF "StopPushbutton_Left_S2" OR "StopPushbutton_Right_S4" THEN
"MOTOR_ON" := 0;
"MOTOR_OFF" := 1;
END_IF;
按下启动按钮“StartPushbutton_Left_S1”或“StartPushbutton_Right_S3”时,将启动传送带电机。按下停止按钮“StopPushbutton_Left_S2”或“StopPushbutton_Right_S4”时,将停止传送带电机。
检测传送带的传送方向:
检测到的传送带传送方向用右箭头或左箭头指示。如果传送的其它物料正在从右边接近 PEB1 或从左边接近 PEB2,显示的箭头最初会关闭,直至两个光电屏蔽均通过后,才能重新检测到传送方向并显示相应的箭头。任务解决方案需要双沿存储器位来检测两个光电屏蔽上从“0”到“1”的信号变化。
Input
光电屏蔽 PEB1 BOOL 光电屏蔽 1
光电屏蔽 PEB2 BOOL 光电屏蔽 2
辅助标记 PEB1 BOOL 沿位存储器 1
辅助标记 PEB2 BOOL 沿位存储器 2
Output
RIGHT BOOL 表示向右传送
LEFT BOOL 表示向左传送
// 向左传送的程序代码
IF "Photolelectric barrier PEB1" = 1 AND "Auxiliary flag PEB2" = 0 THEN
"Auxiliary flag PEB1" := 1; // 为 PEB1 设置辅助标记
"LEFT" := 0; // 关闭向左箭头
"RIGHT" := 0; // 关闭向右左箭头
END_IF;
IF "Auxiliary flag PEB1" = 1 AND "Photoelectric barrier PEB2" = 1 THEN // 传送带向左传送
"LEFT" = 1;
"RIGHT" := 0;
END_IF;
IF "LINKS" = 1 AND "Photoelectric barrier PEB2" = 0 THEN // 复位 PEB1 的辅助标记
"Auxiliary flag PEB1" = 0
END_IF;
// 向右传送的程序代码
IF "Photolelectric barrier PEB2" = 1 AND "Auxiliary flag PEB1" = 0 THEN
"Auxiliary flag PEB2" := 1; // 为 PEB2 设置辅助标记
"LEFT" := 0; // 关闭向左箭头
"RIGHT" := 0; // 关闭向右左箭头
END_IF;
IF "Auxiliary flag PEB2" = 1 AND "Photoelectric barrier PEB1" = 1 THEN // 传送带向右传送
"LEFT" = 0;
"RIGHT" := 1;
END_IF;
IF "RIGHT" = 1 AND "Photoelectric barrier PEB1" = 0 THEN // 复位 PEB2 的辅助标记
"Auxiliary flag PEB2" := 0;
END_IF;
如果光电屏蔽“PEB1”的信号状态为“1”同时光电屏蔽“PEB2”的信号状态为“0”,则传送带上的包裹向左移动。如果光电屏蔽“PEB2”的信号状态为“1”同时光电屏蔽“PEB1”的信号状态为“0”,则传送带上的包裹向右移动。//当两个光电屏蔽的信号状态均为“0”时,则向左或向右传送的指示灯将熄灭。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !