TwinCAT 与 Step 7 编程的异同
原创 Lizzy Lizzy 的倍福园地 2018-01-06 00:23
熟悉西门子 PLC 编程的客户,首次使用 TwinCAT PLC 时,总是有一些概
念要重新理解。本文根据作者个人经验,对二者做一些对比。希望做到系
统、全面、正确,实际却未必做到。欢迎留言补充、指正。
二者的相同点在于都符合 IEC61131-3 编程标准。不同之处则包括但
不限于以下几点:
1.程序执行周期
传统 PLC 程序按逐行扫描的模式,执行 PLC 代码。第一遍完成后紧接着
开始第二遍扫描执行。连续两次输出更新的时间间隔是不固定的。
TwinCAT PLC 要按指定的任务周期来调用程序,默认周期 10ms。程序语
句第一遍执行完成后,CPU 处于等待状态,直到下一个任务周期触发。所以
连续两次输出更新的时间间隔总是固定的(比如 10ms)。
2.中断
传统 PLC 中有中断任务,事件发生后立即中断普通程序而执行中断程序。
TwinCAT PLC 中没有中断,但是有分时多任务。在每个 Base Time 的
Ticker,高优先级的任务先执行。最短 BaseTime 可以设置为 50us,实际上
起到了替代中断任务的作用。
3.程序组织对象
西门子中分为 OB,FB 和 FC。控制器中预留了若干编号的 OB,FB 和 FC,
有些编号是固定有专门的用途,比如 OB86、OB100、FB52 等等,有些编号
的对象是客户可以自由编程使用的。PLC 运行时,识别这些对象的编号。对
象的 Symbol 或者名字,主要是为了便于开发人员理解,增加程序的可读性。
TwinCAT PLC 中分为 PRG、FB 和 FC。分别对应西门子 PLC 中的 OB、FB
和 FC,但 PRG、FB 和 FC 都可以自由命名,而不需要编号,所以也不限制个
数。