STM32 PLC底层Keil源码 实现三菱FX2N

STM32 PLC底层Keil源码 实现三菱FX2N
请添加图片描述

YYID:344570841863213

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
概述 工业4.0标志着第四次工业革命,其特点是分布式、智能化控制系统。工业4.0摆脱了过去体积笨重、集中式的可编程逻辑控制器,允许工厂高度可配置、高度模块化,支持的传感器输入数量大幅增加,输出较之前更高。超小尺寸PLC,或称之为微型PLC,是工业4.0工厂的核心,以极小尺寸封装提供高性能,功耗极低。MAXREFDES61#是Maxim的微型PLC、四通道模拟输入卡。 工业智能化控制微型 PLC 系统板展示: 微型 PLC 系统板详细介绍: MAXREFDES61#具有16位高精度、四通道模拟输入,电源和数据隔离。其中两路输入通道支持-10V至+10V电压信号,另两路输入支持4mA至20mA电流信号。MAXREFDES61#设计集成双通道、低噪声、低失真缓冲器(MAX9633);16位、4通道、多量程输入ADC (MAX1301);两片高电压、4–20mA电流保护器(MAX14626),用于电流输入通道;超高精度4.096V电压基准(MAX6126);600VRMS数据隔离(MAX14850);STM32F4微控制器;FTDI USB-UART桥;高效DC-DC转换器(MAX15062);以及隔离/稳压+15V、+5V和-3V电源(MAX17498C/MAX8719/MAX1659/MAX1735)。整个系统的功耗通常小于500mW,适合用于信用卡大小的空间。用于工业、微型PLC领域时,MAXREFDES61#可用于任何要求高精度模/数转换的应用。 系统设计框图: 基于STM32 的工业控制微型 PLC 系统板 PCB截图: 特点: 高精度 -10至+10V ±20%电压输入 4至20mA +20%电流输入 隔离电源和数据 微型PLC规格 器件驱动器 C语言源代码示例 测试数据 STM32 工业智能化控制源码: 附件内容截图: 更多详细说明:https://www.maximintegrated.com/cn/design/reference-design-center/system-board/5943.html/tb_tab1
二、支持的功能 2.1 支持三菱GX Develoer/GX WORKS2 兼容三菱GX Developer/GX WORKS2,支持PLC写入、PLC读出、PLC校验、在线监视、在线监视软元件批量监视、在线监视(写入模式)以及远程操作RUN/STOP等功能。 2.2、兼容一般的组态触摸屏(如昆仑通态触摸屏)、变频器、仪表等 2.3、基础版本程序支持如下指令(其他指令亲可以自己添加): RST RSTS RSTTC OUT OUTS SET SETS ADD SUB MUL DIV LD LDI LDP LDF AND ANI OR ORI ANDP ANDF ORP ORF ADDP SUBP MULP DIVP MOV MOVP END FEND CJ CALL RET INV LD= LD> LD< LD= AND= AND> AND< AND= 2.4、FX2N源码优化版本升级记录: 1) 优化程序风格,规整代码,并新增部分注释,方便读懂 2) 新增指令如下: INC INCP DEC DECP MPP LD AND OR= OR> OR= OR<= OR WAND WOR WXOR NEG ROL ROR RCL RCR SQR SWAP 3) 新增波特率自适应功能9600、19200 4)完善功能,当远程STOP或者硬件开关使PLC为STOP状态时,将内部寄存器,定时器,计数器等清零功能,与三菱FX2N兼容,具体清零寄存器包括(D0-D8000 ;C0-C255;T0-T255 ;M000--M3072,其余不清零) 5) 新增断电保持功能,更改相关断电保持寄存器,具体如下: 450个数据寄存器:D500--D950 150个计数器: C101--C150 150个定时器: T100--T150 512个内部继电器:M512--M1024 其他寄存器STOP 或者断电将清零 6) 新增模拟量功能: 2AD+2DA(若有需要可以多加) 2AD路模拟量输入对应寄存器: D8030 D8031 (0~10V-->0~4095) 2DA路模拟量输出对应寄存器: D7030 D7031(0~4095-->0~10V) 7) 新增I2C函数功能: 方便外部EEPROM扩展 8) 优化定时器功能(与三菱兼容): 8.1) 常规定时器 T0~T255 共256点 T0~T199为100ms定时器,共200点 T200~T245为10ms定时器,共46点 8.2) 积算定时器 T246~T255 共10点 T246~T249为1ms积算定时, 共4点 T250~T255为100ms积算定时器,共6点 2.5、 PLC编程支持的功能 编程语言 梯形图 程序容量 8K步 内部寄存器D 8000个 定时器T 256个 记数器C 256个 输入点X 256个 输出点Y 256个 壮态继电器S 600个 辅助继电器M 3071点 M0-M3071 特殊功能: M8000(运行监视触点) M8001(运行监视反触点). M8002(初始化脉冲触点) M8003(初始化脉冲反触点) M8004(错误指示触点) M8011(10毫秒时钟脉冲) M8012(100毫秒时钟脉冲) M8013(1秒时钟脉冲) M8014(1分时钟脉冲) M8020(零位标志) M8021(借位标志) M8022(进位标志) M8029(指令执行结束标志) M8033(内存保持触点) M8034 (禁止输出触点). 更多参考FX2N系列。
你可以按照以下步骤使用STM32CubeMX和Keil5来实现亮灯功能: 步骤1:打开STM32CubeMX,并创建一个新的工程。 步骤2:选择你所使用的STM32系列芯片,并设置工程的基本参数,比如时钟源和工作模式等。 步骤3:在"Pinout & Configuration"选项卡中,选择你要使用的引脚来控制LED。 步骤4:在"Configuration"选项卡中,配置LED引脚为输出模式。 步骤5:生成代码并保存工程。 步骤6:打开Keil5,并导入刚刚生成的工程。 步骤7:在Keil5中打开主程序文件(通常为main.c)。 步骤8:在main函数中,添加代码来控制LED的亮灭。 下面是一个示例代码,用于在STM32F4系列芯片上控制一个连接在PA5引脚上的LED灯: ```c #include "stm32f4xx.h" int main(void) { // 初始化系统时钟和其他配置 // 启动时钟 // 配置GPIO引脚 RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; // 使能GPIOA时钟 GPIOA->MODER |= GPIO_MODER_MODER5_0; // 设置引脚为输出模式 while (1) { // 使LED亮 GPIOA->BSRR = GPIO_BSRR_BS_5; // 延时一段时间 for (int i = 0; i < 1000000; i++); // 熄灭LED GPIOA->BSRR = GPIO_BSRR_BR_5; // 延时一段时间 for (int i = 0; i < 1000000; i++); } } ``` 注意:以上代码只是一个简单的示例,你可以根据自己的需要进行修改和扩展。在实际操作中,你可能还需要进行一些其他的配置,比如初始化系统时钟、配置中断、使用外设等等。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值