⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 升级文档.txt

📁 PLC源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
           简易PLC 梯型图 解释型监控 示范程序(用于 51单片机) 

***************************************************************************************************
前言:

  感谢网友 wisebaby 和 znl3512,自告奋勇的为 DIY 开源 PLC 活动排犹解难,担任主攻 DIY 开源 PLC 的通讯下载 CODE 任务。 

  网友 znl3512 编写的 PLC 通讯下载 CODE 比较早,那时 简易PLC 还没成型,是用 AT89S51 单片机 成功测试了 仿三菱 FX1N  PLC 下载程序的例子,详见以下连接:  
点击此处下载 ourdev_482258.rar(文件大小:4K) (原文件名:PLC-通讯下载.rar)  

  网友 wisebaby 编写的 PLC 通讯下载 CODE 已在 简易PLC 上测试通过,详见以下连接:  
仿三菱 FX1N PLC 下载通讯协议 C Code示范程序 V1.0.1版本 正式发布 

  为配合网友的工作,老许将原 简易PLC 梯型图(指令编码)转 51  C 程序示范程序 作了修改和移植,拼凑成 PLC 梯型图 解释型监控 C Code示范程序(用于 51单片机) 框架,说心里话,这种容量小、功能少的 PLC,用汇编是最佳选择,程序精练、执行效率高,比如散转指令,用 C语言的函数指针效率大打折扣,但考虑到方便大家今后程序的移植、更改、提高,使之能适应于 AVR,STM8,NEC,PIC,H8,STM32......等任何单片机,未使用 51单片机特有的 bit 操作指令,关键部位也未插入汇编,等程序修改稳定后再修改相关指令,优化程序代码,提升执行速度,使之更适合 51单片机的使用。 

  本程序支持混合编程,即在 PLC 指令编码中可任意插入 C 语言语句,符合 C 语言规范的汇编语言语句。可使用现有的调试软件仿真器设置断点,单步,多步,跟踪,连续,全速等手段调试 PLC 程序,修改和监控 PLC 点元件状态和内容,使之更适合广大单片机爱好者使用。 

  本程序已插入移植了网友 wisebaby 和 znl3512 编写的 仿三菱 FX1N PLC 下载通讯协议 C Code示范程序,真正实现兼容 三菱FXGPWIN 软件 的 开源PLC,通过 三菱FXGPWIN 软件 下载 PLC 程序,依靠片内监控程序解释执行 PLC 指令。老许组织网友编写的所有 简易PLC 示范程序已全部通过本监控程序测试。

   三菱梯型图示范测试程序及使用说明: 

1、下载预装 PLC 监控程序
  打开 笙泉(MPC82G516)串口下载软件,调入 PLC 梯型图 解释型监控 C Code示范程序 的 Hex文件后通过串口将程序下载到 简易PLC 中。

2、使用三菱梯型图编程软件 FXGP-WIN-C 下载 PLC 程序
  打开三菱梯型图编程软件 FXGP-WIN-C ,建立文件,输入梯型图程序,经转换成指令码后直接下载到 简易PLC 中(如直接使用本文件夹中的示范测试程序实例,可省略这一步)。 

3、简易PLC 使用须知
  按下 简易PLC 中运行/下载键,打开电源开关,此时 简易PLC 绿灯亮,可通过 三菱 FXGP-WIN-C 软件下载 PLC程序,下载完毕,再按一下(松开)简易PLC 中运行/下载键(橙灯亮),简易PLC 则运行下载的 PLC程序,如松开 简易PLC 运行/下载键打开电源开关,则直接运行 简易PLC 内的 PLC程序。 

4、三菱梯型图 至 AVR监控软件, 至 STM32监控软件 目前还未动手,等 三菱梯型图 至 51监控软件工作稳定可靠后再组织网友移植,也欢迎网友自行移植到其他系统中。 

-------------------------------------------------------------------------------------------------------------------- 

  下面为 简易型 PLC 梯型图编程实例目录,其程序在文件夹 PLC51中: 

   变频显示器扩展键盘输入端口 
       X20      // STOP/RESET  
       X21      // RUN      
       X22      // 下箭头   
       X23      // JOG     
       X24      // 右移    
       X25      // 上箭头   
       X26      // ENTER/DATA  
       X27      // MENU/ESC  

   变频显示器扩展显示输出端口 
       S243      // 变频显示器LED个位小数点显示缓冲区  
       S244      // 变频显示器LED十位小数点显示缓冲区  
       S245      // 变频显示器LED百位小数点显示缓冲区  
       S246      // 变频显示器LED千位小数点显示缓冲区  
       S247      // 变频显示器LED个位数熄灭标志  
       S248      // 变频显示器LED十位数熄灭标志  
       S249      // 变频显示器LED百位数熄灭标志  
       S250      // 变频显示器LED千位数熄灭标志  
       S251      // 变频显示器F/R指示显示缓冲区  
       S252      // 变频显示器 Hz指示显示缓冲区  
       S253      // 变频显示器 V 指示显示缓冲区  
       S254      // 变频显示器 A 指示显示缓冲区   
       S255      // 变频显示器RUN指示显示缓冲区   


一、定时器60秒延时时间测试程序  Time-60.pmw 
    按下X0,Y0亮,松开Y0熄灭。 
    如按下X0不放,延尽60秒Y1常亮。 
    变频器面板外部扩展显示延时时间值(单位100ms,十进制) 

二、输入输出口测试  IO-demo.pmw 
    X0  -->   Y0 
    X1  -->   Y1 
    X2  -->   Y2 
    X3  -->   Y3 
    X4  --> 置Y4常亮 
    X5  --> 清Y4 
    X6  --> 置Y5常亮 
    X7  --> 清Y5 
    X10 --> 置Y6常亮 
    X11 --> 清Y6 
    X12 --> 置Y7常亮 
    X13 --> 清Y7 

三、跑马灯应用之一  Marquee1.pmw 

四、电机正反转控制  MotorPos.pmw 
    X0     正向启动按钮 
    X1     停止按钮 
    X2     反向启动按钮 
    X3     过载保护 
    Y0     正向运行用交流接触器 
    Y1     反向运行用交流接触器 

五、计数器应用之一  Counter1.pmw 
    X0     加1计数脉冲输入 
    X1     减1计数脉冲输入 
    X2     清0按钮 
    变频器面板外部扩展显示(十六进制) 

六、计数器应用之二  Counter2.pmw 
    X0     加1计数脉冲输入 
    X1     减1计数脉冲输入 
    X2     清0按钮 
    变频器面板外部扩展显示(十进制) 

七、PLC计数器测试程序(预置计数值20)  Counter3.pmw 
    RUN    RUN灯亮,启动计数器,充许计数 
    STOP   RUN灯熄灭,关闭计数器,不充许计数 

    X0     计数脉冲加1输入 
    X2     计数器清0按钮 
    预置计数值到 F/R灯亮,RUN灯熄灭,关闭计数器 
    变频器面板外部扩展显示计数值(十进制) 

八、输入口测试  Input.pmw 
    X0     变频器面板外部扩展显示"1" 
    X1     变频器面板外部扩展显示"2" 
    X2     变频器面板外部扩展显示"3" 
    X3     变频器面板外部扩展显示"4" 
    X4     变频器面板外部扩展显示"5" 
    X5     变频器面板外部扩展显示"6" 
    X6     变频器面板外部扩展显示"7" 
    X7     变频器面板外部扩展显示"8" 
    X10    变频器面板外部扩展显示"9" 
    X11    变频器面板外部扩展显示"10" 
    X12    变频器面板外部扩展显示"11" 
    X13    变频器面板外部扩展显示"12" 

    变频器面板外部扩展输入口 
    STOP(X20)   变频器面板外部扩展显示"13" 
    RUN (X21)   变频器面板外部扩展显示"14" 
    下箭头(X22) 变频器面板外部扩展显示"15" 
    JOG (X23)   变频器面板外部扩展显示"16" 
    右移(X24)   变频器面板外部扩展显示"17" 
    上箭头(X25) 变频器面板外部扩展显示"18" 
    ENTER(X26)  变频器面板外部扩展显示"19" 
    ESC (X27)   变频器面板外部扩展显示"20" 


九、简易时钟  Stime.pmw 
    按JOG  进入时间设置  
    右移   显示器闪烁光标循环右移1位 
    上箭头 显示器闪烁位置数值加1 
    下箭头 显示器闪烁位置数值减1 
    ENTER  退出时间设置  

    变频器面板外部扩展显示时间值 
    (高二位显示时,低二位显示分,F/R指示灯显示秒信号) 


十、简易计算器  Computer.pmw 
    X0       0 
    X1       1 
    X2       2 
    X3       3 
    X4       4 
    X5       5 
    X6       6 
    X7       7 
    X10      8 
    X11      9 

  变频器扩展按钮 
    上箭头   + 
    下箭头   - 
    右移     乘 
    JOG      除 
    RUN      = 
    RESET   清0  

    当前操作  +   显示 F/R(指示灯) 
    当前操作  -   显示 Hz(指示灯) 
    当前操作  乘  显示 V (指示灯) 
    当前操作  除  显示 A (指示灯) 

  显示:变频器面板4位十进制数 


十一、改进型简易时钟  Stime2.pmw  
    按JOG  进入时间设置   
    右移   显示器闪烁光标循环右移1位  
    上箭头 显示器闪烁位置数值加1  
    下箭头 显示器闪烁位置数值减1  
    ENTER  退出时间设置   

    按MENU  时:分显示 和 分:秒显示 切换  

    变频器面板外部扩展显示时间值  
    (中间小数点显示秒信号)  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -