codesys ide
组态和编译
编程语言:梯形图、功能图、流程图、顺序图
IL ST LD SFC FBD CFC
编译下装到runtime里去
语言特征:支持面向对象和面向过程
编译过程:
step1 --->IL
step2 IL----->对应指令集的机器码 mips looarch x86 arm
runtime 加载代码,对代码重定位,从而实现IO服务和PLC快速交互。
问题:
IOServer发给PLC的指令是什么?
PLC返回给IO服务数据包?
runtime都有什么?
CodePLC-Program
代码和函数表
DATA PLC-Program
重载表
runtime 连接到实际的执行函数,通过函数指针方式,相当于二级链接
重点Runtime都有什么:
runtime称之为为ice容器
1、读文件到内存
2、读IO组态信息
3、读工程基础信息
4、PIG文件校验
5、浮动地址实例化
6、。。。
Runtime内核运行机制
学习操作系统的runtime
1、IEC 任务的运行和调度
PRG Task POUS
2、外部IO的访问
各类现场总线驱动集成
3、通信 串口和tcp
4、调试 断点 单步 调用栈
5、其他诊断 配置
总结:调度库 总线驱动库 通信库 调试库 诊断配置库
runtime=C库+驱动
上层有server+通信库+控制层+事件机制(IEC Tasks)
PLC软runtime=OS runtime/rtssys (rtssys 兼容各个指令集简介进行系统调用)+业务runtime=一个可执行程序
业务runtime/业务架构=IEC任务调度系统=纯业务架构,理解PLC的使用场景以及IO输入输出就很容易理解
主备切换:备用用来下载,然后同步。
IEC=static link+dynamic link+relocate 重定向
核心就是RtsSys以下是各个指令集的OS的runtime
RtsSys以上是业务架构
cnotrolTask:状态机周期性进行任务调度
词汇
Application PRG
Internal Lib
External Lib
system Func
All External reference
重新理解HC在做什么:
主导国内工控行业的基础设施,引领工控软硬生态发展方向。
疫情期间什么企业能够逆流而上,答案:
基础设施/越底层越好
未来什么企业最不可靠:
上层应用
什么地方来钱最快:
封口上层应用
所以你是想深造还是想挣快钱,选择也不会太难