找回密码
 立即注册
查看: 671|回复: 4

STC单片机PLC梯形图的编译算法

[复制链接]

29

主题

31

回帖

320

积分

荣誉版主

积分
320
发表于 2024-6-10 15:10:49 | 显示全部楼层 |阅读模式
1,梯形图程序编译虽然不同于面向字符串的程序语言词法分析编译,但是对算法的结构分析与通用编程语言是完全一致的。将梯形图程序直接编译成机器指令序列是非常不明智的,特别是针对STC单片机,所以必须建立一套梯形图指令系统。
2,梯形图指令系统不等于梯形图用户图形化源程序指令。梯形图指令系统是用来表达用户源程序编译目标程序的。梯形图指令系统不同于CPU机器指令,梯形图指令是通过PLC虚拟机实现指令动作的,梯形图指令是被反复扫描执行的。
3,梯形图指令的变量统一采用变量代理,变量代理既包含变量实体的内存地址,也包含实体变量的变量属性,变量在PLC虚拟机存取就不是简单的读写,而是根据变量属性采用不同存取方法。
4,梯形图指令的变量与图形化的用户源程序实现“透明”,这样便于实现变量在线监控和远程组态。
5,梯形图指令虚拟执行机实际上就是PLC的驻机嵌入式软件。也有人将他称为PLC的指令解释器。它不仅包含梯形图指令的执行功能,而且包含输入输出变量的扫描,时间变量的扫描,还包括用户程序的下载读出,在线监控,还包含与plc上位机的现场总线通信协议。还有掉电记忆保护,实时时钟等等功能。我们的STC单片机PLC驻机嵌入式软件不借助于任何嵌入式操作系统,完全独立运行,完全自主源代码。
6,有了这样的梯形图底层指令系统,用户的图形化源程序进行编译就比较简单了。我们的编程编译工具完全采用MFC和visual C++编写,不依赖任何第三方库。易学易用,兼容于我们日常使用的行编辑操作。基本不用特殊训练。
从事软件研发最迷人的地方就是你可以把任何可行的理论变成真实的软件代码。

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:381
  • 最近打卡:2025-05-01 07:33:48
已绑定手机

12

主题

43

回帖

698

积分

高级会员

积分
698
发表于 2024-6-13 08:06:18 | 显示全部楼层
能否讲一下梯形图怎么转换为c语言或者是怎么在单片机上对梯形图指令进行解释的,谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:289
  • 最近打卡:2025-04-30 17:31:36
已绑定手机

2

主题

182

回帖

1240

积分

金牌会员

积分
1240
发表于 2024-6-13 11:41:29 | 显示全部楼层
说了,好像又没说
不抛弃,不放弃
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:518
  • 最近打卡:2025-05-01 05:52:49
已绑定手机

46

主题

1694

回帖

2540

积分

金牌会员

积分
2540
发表于 2024-6-13 14:13:45 | 显示全部楼层
楼主在抛砖引玉
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:455
  • 最近打卡:2025-05-01 08:13:06
已绑定手机

27

主题

341

回帖

1687

积分

金牌会员

机长

积分
1687
发表于 2024-6-22 18:06:23 | 显示全部楼层
理都懂,然而实现起来好难……
业余撸代码,专业开飞机
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 04:04 , Processed in 0.126504 second(s), 78 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表