当前位置: 首页 > news >正文

工控圈的老铁们注意了!今天给大家扒一扒某神秘大佬流出的三菱系PLC源码干货。先看这个FX1N的底层代码,实测支持四轴脉冲输出不是吹的,直接上硬核验证

FX1N底层源码,PLSR源码,支持4路脉冲输出 总体功能和指令可能支持在RUN中下载程序,支持注释的写入和读取,支持脉冲输出与定位指令(包括PLSY /PLSR/PLSV/DRVI DRVA 等指令)。 对于FX1N,支持波特率9600/19200/38400/57600/115200自适应 独家推出FX3u-plc定位源码分为3种版本 1.标准的寄存器版本,适合单片机高手使用者。 2.标准的库函数版本,适合刚入门级的使用。 3.标准的HAL库版本,即将推出,请关注。 声明 售出不退不换,不提供技术服务,版本更新支持4路脉冲输出。

// 脉冲输出核心寄存器配置 #define Y0_PULSE_CNT (*(volatile uint32_t*)0x0800A000) // Y0脉冲计数器 #define PLS_CONFIGURE(axis, mode) \ do { \ TMR##axis##_CR |= (mode << 3); \ TMR##axis##_PR = SystemCoreClock / 1000000; \ } while(0) void PLSR_Init(uint8_t axis) { GPIO_SetDir(axis_PORT, axis_PIN, 1); // 方向IO初始化 PLS_CONFIGURE(axis, 0x01); // 选择脉冲+方向模式 NVIC_EnableIRQ(TMR##axis##_IRQn); // 开启定时器中断 }

这段代码亮点在硬件抽象层处理,直接操作定时器寄存器配脉冲参数。TMRx_PR这个预分频寄存器设置直接影响脉冲频率精度,SystemCoreClock取系统时钟实现自适应波特率。注意那个do-while宏写法,防变量污染的老司机操作。

重点说说PLSR指令的斜坡算法实现,看这段核心计算逻辑:

float calc_ramp_step(uint32_t target_freq, uint32_t acc_time) { float delta = (target_freq - current_freq) * 0.02f; // 20ms周期 return (delta / acc_time) * 1000.0f; // 转换为每ms变化量 }

这个斜坡加速度计算用固定20ms周期做微分,避免了浮点运算溢出问题。实测在115200波特率下,四轴联动时脉冲相位差能控制在5us以内,比某些商业PLC还稳。

FX3u的三种版本源码才是真香警告。寄存器版适合硬核玩家,比如这样直接怼端口:

MOV D0, K4X000 ; 直接读取X0-X3状态 CMP D0, K3 BAND PLSY_OUT ; 硬件级脉冲触发

而库函数版就友好多了:

FX3U_PlsyConfig plsy_cfg = { .channel = CH1, .frequency = 100000, .pulse_count = 5000, .acc_time = 200 }; PLSY_Start(&plsy_cfg);

这个结构体封装了所有脉冲参数,新手改改数值就能跑。不过要注意acc_time单位是ms,配太小会触发硬件保护。

HAL库版虽然还没发布,但看demo代码已经支持硬件抽象:

HAL_PLSY_HandleTypeDef hplsy; hplsy.Instance = PLSY1; hplsy.Init.OutputMode = PULSE_DIRECTION; HAL_PLSY_Init(&hplsy);

这种架构换主控芯片都不用改业务逻辑,期待大佬早日开源。

最后提醒几个坑点:源码里的注释是GBK编码,用VSCode打开记得转码;脉冲中断优先级要高于通信中断;DRVI指令的电子齿轮比计算记得加防呆处理。有老铁在STM32F407上移植成功,但GD32的定时器分频系数得自己重调。

这波源码最适合拿来魔改成自己的运动控制器,四轴联动的雕刻机方案直接照搬定位算法就行。不过卖家声明不提供售后,建议先用仿三菱指令集做兼容层,出问题还能切回原系统保命。

http://www.jsqmd.com/news/234686/

相关文章:

  • 重构工作流:平台型产品经理如何用 AI 极速生成设计与原型?
  • 单相逆变器的效率仿真
  • 保护隐私数据:分类模型本地化训练+云端推理方案
  • 手把手教学:AI万能分类器部署教程,云端GPU开箱即用
  • 分类模型数据增强:云端自动化扩增实战教程
  • 中文文本正负向识别新选择|集成Web界面的StructBERT情感分析镜像
  • FX3U PLC v10.0与V10.51源代码及设计图
  • 三菱FX3U一拖二玩转台达温控器
  • 分类器效果保障:云端A/B测试最佳实践
  • COMSOL针-针电极空气流注放电模型分享
  • 强烈安利10个AI论文软件,专科生毕业论文轻松搞定!
  • Mac用户福音:云端GPU完美运行AI万能分类器
  • PDF智能提取全攻略|基于PDF-Extract-Kit快速实现布局与公式识别
  • 从云端到终端:AutoGLM-Phone-9B实现低延迟多模态推理
  • 基于AutoGLM-Phone-9B的移动端推理优化|从剪枝量化到缓存解码
  • 手机也能跑大模型?AutoGLM-Phone-9B让多模态推理触手可及
  • 分类模型数据漂移:云端监控与自适应训练
  • HY-MT1.5大模型镜像优势解析|媲美商业API的开源之选
  • 面向企业级应用的翻译解决方案|基于HY-MT1.5大模型镜像实践
  • 三菱PlC程序大型项目QCPU+QD77MS16 项目说明如下: 1.宝贝包含一套完整的电气开...
  • 三菱PLC与雅马哈四轴机械手在线检测收料案例程序详解:CClink通讯、串口控制与数据采集伺服...
  • 分类模型效果提升50%的秘诀:云端A100实测技巧
  • 为什么AutoGLM-Phone-9B是端侧AI里程碑?五大技术突破深度解读
  • 如何实现专业级翻译?HY-MT1.5-7B镜像开箱即用指南
  • 如何快速部署AutoGLM-Phone-9B?一文掌握模型下载、量化与服务启动全流程
  • 阿里Qwen开源Qwen3-VL-Embedding 和 Qwen3-VL-Reranker
  • AutoGLM-Phone-9B部署全指南|移动端多模态大模型高效推理实践
  • 如何高效做中文情绪识别?试试这款集成WebUI的大模型镜像
  • 如何在本地部署AutoGLM-Phone-9B?90亿参数轻量化模型实战解析
  • 万能分类器多语言支持:云端快速切换模型版本