搜索
bottom↓
回复: 112

[开源FX1N PLC V1]基于论坛开源plc的stm32版本

  [复制链接]

出0入0汤圆

发表于 2017-9-12 20:59:46 | 显示全部楼层
void fx1n_readX(u8t* buf, u32t length) {
}
void fx1n_writeY(u8t* buf, u32t length) {
}

楼主,请问这2个函数怎么重写,可以示范一个案例吗? 论坛有个人分析基于51的PLC源码,写得很不错。。基于这个STM32的,可以探讨一下怎么样去实现PLC的原理。。因为内存方面相对51也不紧张,优化一下代码,性能应该很不错的。

出0入0汤圆

发表于 2017-9-15 16:22:18 | 显示全部楼层
楼主,你这个移植到STM32单片机中,
void fx1n_init(void) {
    //u8t reset_i=1;
    //unsigned int  i;
    //const u8t ArrPass[]    ="PASS!\r\n\0";
    //const u8t DefaultSet[] ="System in factory default.\r\n\0";
    //u8t PLCButtonState;

    iap_init();
    reset_RAM();

    FX1NPLCSoftwareVerCheck();               //  上电,核实 PLC 软件版本号

    //  MJ 2010.01.11
    //P1M0|=0x03;
    //P1M1&=0xfc;
    //  核查 复位标志 . 判断是 冷启动 还是 热启动 .
    //      冷启动 指从加电开始直到系统的处理命令进行完毕为止;  
    //      热启动 指在冷启动后,系统不断电的情况下在系统中通过软件实现的重新启动.
    //if(((PCON&0x10)==0x10))                     //  冷启动
    {   
        //PCON&=~0x10;
        if((P1 & 0x03) == 0)                    //  为合理使用 [运行/停止]按钮 .去掉 X0 X1两点输入.
        {                                       //  请不要再 PLC 程序中编写带有 X0 X1 的程序. 谢谢.
            IAPFlashProgremMode(PLCStateRealAddr,PLCStateStop);
            PLCRunFlag=0;
        }
        else
        {
            IAPFlashProgremMode(PLCStateRealAddr,PLCStateRun);
            PLCRunFlag=1;
        }
    }
    //else
        PLCStateCheck();                       //  热启动
    //PLCButtonState=P1 & 0x03;
        PLCRunFlag = 1;
    LastPLCStateFlag = PLCRunFlag;

    CODE_scan();
    PLCRunFlag = 1;
    rM8xxx[0].BYTE = (rM8xxx[0].BYTE & 0xfc) | 0x01;
    IAPFlashProgremMode(PLCStateRealAddr, PLCStateRun);
}

--------------------------------------------------------------
if((P1 & 0x03) == 0)                    //  为合理使用 [运行/停止]按钮 .去掉 X0 X1两点输入.
这条语句中,STM32可是没有 P1 口哦。。。呵呵

出0入0汤圆

发表于 2017-9-16 23:58:52 来自手机 | 显示全部楼层
楼主,这下会误导一些人的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 15:52

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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