全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

科威PLC芯片组开发实例(七)

[复制链接]
1147 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
实战开始,苦手对象:EASY-M0806R

首先,我们得搞清楚,EASY-M0806R的IO引脚的分配情况,这款PLC有8个输入点,6个输出点,那么就相应的有8+6 = 14个IO引脚对应它们的输入和输出,对应原理图我们得知:
8个输入点对应的引脚是:
I0→P3.7 I1→P3.6 I2→P3.5 I3→P3.4 I4→P3.3 I5→P3.2 I6→P3.1 I7→P3.0

6个输出点对应的引脚是:
OUT0→P1.0 OUT1→P1.1 OUT2→P1.2 OUT3→P1.3 OUT4→P1.4 OUT5→P1.5

其次,每个输入输出点都对应一个LED,当输入输出点吸合的时候,对应的LED将被点亮,那么对应原理图我们得知14个LED对应的引脚是:
ILED0→P2.0 ILED1→P2.1 ILED2→P2.2 ILED3→P2.3 ILED4→P2.4 ILED5→P2.5
ILED6→P2.6 ILED7→P2.7
OLED0→P0.4 OLED1→P0.5 OLED2→P0.6 OLED3→P0.7 OLED4→P4.1 OLED5→P4.0

与此同时,PLC还有一个RUN/SET的输入,该输入负责管理PLC的运行状态和下载状态,对应着不同的状态,有一个专门LED点亮/熄灭来判断此输入的状态,一般来说,运行状态时,该LED被点亮,下载状态则反之。根据原理图我们得知:
RUN/SET-LED→P4.3

PLC如果错误的被执行,应该还有一个错误的LED将被点亮,这个LED对应的引脚为:
ERR-LED→P4.2
那么我们怎么得知PLC运行/下载的状态,还有出错的状态呢?请看easycore.inc文件,有3个变量定义:
KEY_SET EQU 3FH ;1有效(下载梯形图)
KEY_PRO EQU 3EH ;0有效(下载用户程序)
PLC_PRO_ERR EQU 3DH ;梯形图错误标志,1有效
这个是我们前几节所没有讲到的,通过检测这些位变量,我们就可以对RUN/SET-LED和ERR-LED进行控制了。

知道了这些以后,我们就对EASY-M0806R的IO引脚分配有了大致的了解,趁此机会,我们把easycore.inc最后剩下没讲完的变量也拉出来遛一下吧~
M0~M15:这16个字节变量可是直接寻址方式的哟,但是应用它们有个局限性,那就是必须得在SCAN里面应用,其他地方是不允许调用这16个字节变量的,如果你非要在其他地方使用,那么就必须得把它们压栈,不过还是不推荐此方法,真的要压栈的话,还不如压公共直接寻址变量区DRAM_USER区域呢。

FLOAT_M1~ FLOAT_M4,W_R0~ W_R7,W_DATA:这几个变量是专门调用easycore.lib函数库里面的函数所要用到的出口入口的变量。大致了解一下它们的含义便行,如果你到了需要调用easycore.lib函数库里面的函数这个阶段,那么本文对你来说,相信应该已经没有多大意义了^-^~!

下一讲我们将分模块来详细叙述如何根据我们所掌握的IO口引脚信息,来填充我们的驱动项目工程。

PS:本节所讲的IO口配置可能会与实际IO口配置略有出入,大家当以实际的原理图为准!

本帖首发中国工控网科威PLC论坛,转载请声明!

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表