搜索
bottom↓
回复: 137

[源码]开源PLC项目Beremiz的RTE在stm32f1上实现

  [复制链接]

出40入42汤圆

发表于 2019-12-15 00:00:39 | 显示全部楼层 |阅读模式
0. 前言
之前发过一个纪念性质的帖子 https://www.amobbs.com/thread-5722409-1-1.html
那时候是刚把通信功能整好了,没有整理就只发了个帖子开心一下,还是有坛友感兴趣的,就业余再整理了下
其实上周已经把modbus功能移植好,但由于Beremiz这个程序是依赖Python来运行的,配置起来估计没有那么顺利,尤其是在Windows的环境下
所以这周研究了一下打包的方法,现在已经整好了一个安装包,直接把编译器和Python都打包进去,方便有兴趣的坛友捣鼓测试

1. 移植的modbus效果
测试的硬件是:正点原子的stm32f103 Mini开发板
主机:PC端的Modbus Poll 进行模拟
注意,由于没有对modbus的地址进行功能分类,所以沿用了YAPLC里面的分类,只有63个holding reg,地址是1~63,
1~31是特殊用途,32~63是用户自定义的,对应Beremiz IDE中的LOCAL变量地址%MW1.0~%MW1.31



modbus的配置:从机地址 - 1,波特率 - 115200,模式 - RTU


2. 附件说明
Beremiz是用了wxPython作为界面框架的,所以离不开Python,安装包里附带的是Python2.7.16,64位版本的(32位的请自己下载和覆盖),已经把需要的依赖库都装好了
其次,由于Beremiz是通过转换IEC61131-3里面的编程语言为C语言,然后再把C编译成可执行文件给RTE运行,所以会有两个编译器
一个是matiec(iec2c/iec2iec),一个是arm-gcc,因为RTE是要运行在stm32上
另外,因为RTE是楼主根据YAPLC项目改过来的,改名叫了DYPLC,所以会有一个DYPLC的目录,负责通信和平台识别的
最后,放了一个测试demo的项目目录
由于Python和arm-gcc两个模块比较大,所以安装包也很大,200多MB,解压出来有800多MB,请注意
启动方式已经在快捷方式里面配置好了,直接点击快捷方式就可以启动软件使用


3. STM32的RTE烧写
在启动Beremiz IDE之前,先把附件中的RTE工程解压了,然后文件夹projects里面有对应的boot和rte的keil mdk工程
楼主使用的是mdk v5.14,如果要用其他的环境,则参考配置文件自助进行重新配置
首先,把boot的烧写进去,然后,再把rte的烧写进去,重新上电
此时因为没有PLC的APP程序,所以会默认的运行dummy代码,等待Beremiz IDE重新下载PLC应用程序

4. 简单使用说明
这里以楼主自己的硬件平台来进行描述,用的USB转串口模块CH340,硬件和驱动自己搞定
安装好软件后,打开测试demo,工程配置已经预先搞好了


打开项目的配置页,串口号根据实际情况填写


程序页是梯图模式,简单,资源页设定PLC的扫描周期



点击[构建项目1]之前,最好点一下隔壁的清除按钮,提示完成后[2],点击[连接PLC3]


连接PLC成功后,点击[传输程序1],提示成功后[2],点击[开始PLC3],就可以启动PLC,进入Debug模式
要注意的是,如果PLC是第一次使用,由于RTE是运行了dummy代码,所以要在传输玩后断开PLC连接,然后进行复位,之后RTE会对下载的PLC程序进行检查和运行
再连接上PLC之后,就可以启动和Debug了。如果不是第一次使用,之前已经有PLC程序了,则传输完成后即可启动和Debug。


5. 后续
现在IDE和RTE的通信打通了,IDE的打包方式也整好了,后面会把精力放在功能的移植添加和问题修改上面
Beremiz本身的问题也不少的,功能也不算丰富,但框架比较自由,可以做很多扩展,一步步来吧
TODO List:
软件 - 模拟量功能的移植实现,运动控制功能的研究(这个估计要花比较多的时间)
硬件 - 找一个比较像样点的板子调试,重新说明,LZ不太懂硬件设计,前些时候看到另外一个帖子(https://www.amobbs.com/thread-5659384-1-1.html)有个硬件的,
但那个帖子的作者现在没有在论坛活跃了,不然可以问问能不能买一个,也希望有坛友推荐

6. 附件
安装包比较大200多MB,解压后有800多MB,分卷压缩上传到论坛当作备份,另外给出有个网盘链接:https://pan.baidu.com/s/1NUIXou_bBnzMct16j_WAkQ  提取码:dw3g


stm32f103的RTE源码,默认是对正点原子Mini板的配置,如果要在其他板子上使用,不嫌麻烦就看着源码修改,RTE和IDE的对应部分都要修改
如有问题,请发帖留言

本帖子中包含更多资源

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

x

出40入42汤圆

 楼主| 发表于 2019-12-23 20:05:06 | 显示全部楼层

在另外一个帖子里,经坛友"埃托奥"反映,运行软件会提示DLL缺失,查了一下是少了python27相关的动态库,这里上传对应的版本DLL一份,解压拷到Python27文件夹即可
另外查看了韩国发布版本的安装包里,还有些msvcm90.dll、msvcp90.dll、msvcr90.dll的库含在里面,
估计是针对“空白”环境的电脑的,这里是lz的失误,没有在虚拟机里测试,因为手头上的电脑容量小就没装,后面有空再测试下,
如果有坛友测试出有其他问题的话,也欢迎发帖留言

本帖子中包含更多资源

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

x

出0入4汤圆

发表于 2019-12-15 01:26:16 来自手机 | 显示全部楼层
牛啊,佩服

出0入0汤圆

发表于 2019-12-15 01:49:28 来自手机 | 显示全部楼层
恭喜楼主,再接再厉

出0入0汤圆

发表于 2019-12-15 03:23:53 来自手机 | 显示全部楼层
厉害啊!!

出0入0汤圆

发表于 2019-12-15 05:15:10 来自手机 | 显示全部楼层
楼主威武

出0入0汤圆

发表于 2019-12-15 07:28:56 | 显示全部楼层
恭喜楼主,再接再厉

出0入42汤圆

发表于 2019-12-15 07:55:27 来自手机 | 显示全部楼层
楼主厉害,谢谢分享

出0入0汤圆

发表于 2019-12-15 08:02:07 | 显示全部楼层
原以为这个是需要授权注册的。前阵子试验了一下在树莓派上面玩儿的

出0入0汤圆

发表于 2019-12-15 08:44:27 来自手机 | 显示全部楼层
楼主,我这边有个项目做过一个硬件平台,如果需要可以送给楼主使用。只是不支持模拟信号采集。有数字输入输出,编码器输入,232串口,can通信和以太网。

出0入0汤圆

发表于 2019-12-15 09:16:13 | 显示全部楼层
给楼主点个赞。

出0入0汤圆

发表于 2019-12-15 09:36:37 | 显示全部楼层
厉害,收藏了

出0入20汤圆

发表于 2019-12-15 09:41:29 来自手机 | 显示全部楼层
树莓派上有兴趣搞得话,我可以免费提供一套我们的控制器。

出0入4汤圆

发表于 2019-12-15 10:06:10 | 显示全部楼层
这个利害了

出0入0汤圆

发表于 2019-12-15 10:09:42 来自手机 | 显示全部楼层
好资料,谢谢

出0入0汤圆

发表于 2019-12-15 13:22:08 来自手机 | 显示全部楼层
看起来好复杂

出100入85汤圆

发表于 2019-12-15 13:26:24 来自手机 | 显示全部楼层
有想法,能分享。人才

出40入42汤圆

 楼主| 发表于 2019-12-15 15:14:15 来自手机 | 显示全部楼层
阿豪博士 发表于 2019-12-15 08:02
原以为这个是需要授权注册的。前阵子试验了一下在树莓派上面玩儿的

beremiz项目是代码全开源的,只要愿意折腾就行,哈

出40入42汤圆

 楼主| 发表于 2019-12-15 15:20:58 来自手机 | 显示全部楼层
Elec_Ramble 发表于 2019-12-15 08:44
楼主,我这边有个项目做过一个硬件平台,如果需要可以送给楼主使用。只是不支持模拟信号采集。有数字输入输 ...

谢谢支持哈,用的芯片也是stm32的吗?那会方便很多,编码器功能的话,集成到modbus的地址里,或是加一个plc的功能项也行的,can,以太网这些倒是适合做扩展模块的通信,或是运动控制的canopen和ethercat

出40入42汤圆

 楼主| 发表于 2019-12-15 15:27:19 来自手机 | 显示全部楼层
wenming 发表于 2019-12-15 09:41
树莓派上有兴趣搞得话,我可以免费提供一套我们的控制器。

谢谢支持哈,树莓派跑Linux可以直接用beremiz项目的源码,最新的版本还上了bcnet和ethercat,虽然都在测试阶段。lz裸机比较熟,Linux的折腾还是放到后面吧

出0入0汤圆

发表于 2019-12-15 18:51:06 | 显示全部楼层
谢谢LZ分享,刚好手里有类似的板子,可以测试一下

出30入12汤圆

发表于 2019-12-15 19:28:29 | 显示全部楼层
厉害,用百度盘啊 牛

出0入0汤圆

发表于 2019-12-15 20:02:23 | 显示全部楼层
厉害了,学习学习

出0入0汤圆

发表于 2019-12-15 20:12:25 | 显示全部楼层
收藏以后学习,感谢分享!

出0入0汤圆

发表于 2019-12-15 20:36:38 | 显示全部楼层
开源plc框架。牛,且有分享,值得尊重。

出0入0汤圆

发表于 2019-12-15 20:50:22 | 显示全部楼层
楼主V5,感谢提供这么好的学习资料。

出0入0汤圆

发表于 2019-12-15 21:10:25 | 显示全部楼层
厉害了!学习下。

出0入0汤圆

发表于 2019-12-15 21:55:50 | 显示全部楼层
楼主NB啊

出0入0汤圆

发表于 2019-12-16 09:00:18 | 显示全部楼层
恭喜楼主,再接再厉

出0入0汤圆

发表于 2019-12-16 09:08:17 | 显示全部楼层
恭喜楼主

出0入0汤圆

发表于 2019-12-16 09:19:31 来自手机 | 显示全部楼层
留存学习一下,感谢分享

出0入0汤圆

发表于 2019-12-16 11:48:06 | 显示全部楼层
感兴趣, 楼主再接再厉

出0入0汤圆

发表于 2019-12-16 13:02:31 来自手机 | 显示全部楼层
落叶知秋 发表于 2019-12-15 15:20
谢谢支持哈,用的芯片也是stm32的吗?那会方便很多,编码器功能的话,集成到modbus的地址里,或是加一个p ...

是的,stm32f107的,还有几个做的样板可以用。

出0入0汤圆

发表于 2019-12-16 14:48:10 | 显示全部楼层
楼主NB,关注beremiz项目

出0入0汤圆

发表于 2019-12-16 15:41:41 | 显示全部楼层
厉害了,牛逼

出0入0汤圆

发表于 2019-12-16 21:45:18 | 显示全部楼层
厉害了 期待后续佳作

出0入0汤圆

发表于 2019-12-16 21:59:14 | 显示全部楼层
LZ厉害!!!!

出0入0汤圆

发表于 2019-12-30 17:52:06 | 显示全部楼层
厉害!1。。。

出0入0汤圆

发表于 2020-1-9 20:18:14 | 显示全部楼层
楼主厉害了,直得学习

出100入101汤圆

发表于 2020-1-9 22:39:06 来自手机 | 显示全部楼层
高手,大牛

出0入0汤圆

发表于 2020-1-10 09:57:34 | 显示全部楼层
收藏了,得好好学习下

出0入0汤圆

发表于 2020-1-10 10:01:09 | 显示全部楼层

厉害啊!!

出0入0汤圆

发表于 2020-1-14 11:00:54 | 显示全部楼层
厉害! 楼主如何建立IDE的EXE?

出40入42汤圆

 楼主| 发表于 2020-1-14 14:00:07 | 显示全部楼层
gpfrank 发表于 2020-1-14 11:00
厉害! 楼主如何建立IDE的EXE?

在Windows下面,用NSIS(Nullsoft Scriptable Install System)对文件夹里面的文件进行打包,然后修改一下快捷方式的参数来执行python的启动

出0入0汤圆

发表于 2020-2-11 22:21:50 | 显示全部楼层
请教楼主
自定义bootloader的下载协议怎么告诉ide呢 这部分有没有文档呢
我看nucleron默认是没有boot的直接py调用了相关的下载工具下载bin/hex文件给设备

出0入0汤圆

发表于 2020-2-11 22:27:40 | 显示全部楼层
又看了下有些眉目了 DYPLCProto.py 协议在这个文件中
还是请教楼主官方针对这块有没有文档呢 楼主绝对是跨界的 这python玩的6

出40入42汤圆

 楼主| 发表于 2020-2-12 00:17:00 来自手机 | 显示全部楼层
lyzhangxiang 发表于 2020-2-11 22:27
又看了下有些眉目了 DYPLCProto.py 协议在这个文件中
还是请教楼主官方针对这块有没有文档呢 楼主绝对是跨 ...

官方都没有代码框架的文档,只是说多看代码,哈哈
我看代码的时候有做笔记,不过很少,以后可能会整理一下发上来

出0入89汤圆

发表于 2020-2-12 14:12:20 | 显示全部楼层
我这里有STM32F103VCT6的控制板,好像和你的挺对位。你要不要试试


本帖子中包含更多资源

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

x

出0入10汤圆

发表于 2020-2-12 15:02:05 | 显示全部楼层
做为PLC。modbus一般不是作主机来用吗?怎么是从机

出0入0汤圆

发表于 2020-2-12 18:34:41 | 显示全部楼层
落叶知秋 发表于 2020-2-12 00:17
官方都没有代码框架的文档,只是说多看代码,哈哈
我看代码的时候有做笔记,不过很少,以后可能会整理一 ...

  人工点赞 期待文档

出40入42汤圆

 楼主| 发表于 2020-2-12 19:24:08 来自手机 | 显示全部楼层
硬邦邦 发表于 2020-2-12 15:02
做为PLC。modbus一般不是作主机来用吗?怎么是从机

plc的modbus主机模式一般是为了扩展模块吧?从机模式是可以配合支持modbus协议定的触摸屏上位机使用,两种模式都支持就好了,一般至少会支持从机模式

出40入42汤圆

 楼主| 发表于 2020-2-12 19:31:01 来自手机 | 显示全部楼层
szjqt 发表于 2020-2-12 14:12
我这里有STM32F103VCT6的控制板,好像和你的挺对位。你要不要试试

谢谢支持。之前另一位坛友给我寄了一套硬件,比较偏运动控制的设计,你的这个设计比较偏正常的plc功能,目前我还没有那么多业余时间来调试不同的硬件,先把软件完善了再说,以后可能会整一套这种的。

出0入10汤圆

发表于 2020-2-12 21:28:33 来自手机 | 显示全部楼层
IDE的功能也事自己开发吗?

出0入0汤圆

发表于 2020-2-13 11:57:46 | 显示全部楼层
楼主我安装后吧python27.dll复制到python27文件夹下,然后打开软件直接没反应

出40入42汤圆

 楼主| 发表于 2020-2-13 13:11:58 来自手机 | 显示全部楼层
carefree1986 发表于 2020-2-13 11:57
楼主我安装后吧python27.dll复制到python27文件夹下,然后打开软件直接没反应

看一下快捷方式里的“目标位置”内容,之前有个坛友反应也是没有反应,原因是快捷方式那里,系统识别“”符号的方式不一样,你可以把“”符号删掉试试

出0入0汤圆

发表于 2020-2-13 16:04:21 | 显示全部楼层
落叶知秋 发表于 2020-2-13 13:11
看一下快捷方式里的“目标位置”内容,之前有个坛友反应也是没有反应,原因是快捷方式那里,系统识别“” ...

我直接进入快捷方式位置,打开pythonw.exe也是没反应

出40入42汤圆

 楼主| 发表于 2020-2-13 16:35:44 来自手机 | 显示全部楼层
carefree1986 发表于 2020-2-13 16:04
我直接进入快捷方式位置,打开pythonw.exe也是没反应

pythonw.exe是无窗口运行.py文件的模式,快捷方式是通过调用这个exe来加载界面的,你可以打开python.exe看看会不会弹出窗口来,如果可以就说明python软件可以正常运行,问题是出在快捷方式调用的参数那里

出0入0汤圆

发表于 2020-2-13 19:32:27 | 显示全部楼层
本帖最后由 carefree1986 于 2020-2-13 19:33 编辑
落叶知秋 发表于 2020-2-13 16:35
pythonw.exe是无窗口运行.py文件的模式,快捷方式是通过调用这个exe来加载界面的,你可以打开python.exe ...


是这样的,那个文件是打开PLC IDE的?还是没明白怎么打开上位机

出10入95汤圆

发表于 2020-2-13 21:10:36 | 显示全部楼层
编译型PLC,楼主V5

出40入42汤圆

 楼主| 发表于 2020-2-13 23:39:54 | 显示全部楼层
本帖最后由 落叶知秋 于 2020-2-13 23:47 编辑
carefree1986 发表于 2020-2-13 19:32
是这样的,那个文件是打开PLC IDE的?还是没明白怎么打开上位机


本来打开上位机的方式是在快捷方式里写好了的,快捷方式是通过运行pythonw.exe,和带入一些运行参数来启动IDE
由于我在打包的时候没有考虑到安装时,不同版本的操作系统对安装完成后快捷方式里面的那个“目标(T)”栏的内容会可能有差异,导致快捷方式无效的问题
其实上次有坛友已经反映过了,他用的是win7系统,我也是用的win7系统,但快捷方式到了他那边安装后,“目标(T)”栏的内容就不一样了,多了或少了符号",我也没有找到根本原因,后面会查查打包的代码是否有BUG

暂时给出的解决方法:
1.修改快捷方式“目标(T)”栏的内容
    对照电脑里面其他快捷方式对应栏的格式,考虑符号"的使用,上次那坛友就是因为快捷方式“目标(T)”栏的符号"(没错,就是"号)不对而导致启动失败,
你可以把快捷方式的属性界面截图上来,我给你看看怎么修改

2.可以直接调用系统的CMD来运行启动IDE
    运行cmd.exe后,使用cd命令把路径切换到安装目录下的【DYPLC】文件夹里面,然后再通过调用pythonw.exe + 运行的py文件的方式来启动,大概的命令可以这样写:
    "【pythonw.exe的绝对路径】 (此处为空格) dyplcide.py"
    注意:如果系统本身装好了Python2.7,则上面【】里面的内容可以直接改为"python",如果没有装Python2.7而只是运行了楼主提供的安装包,
则可以将上面【】里面的内容填写安装目录下的Python2.7的内容,整个命令看起来就类似这样"C:\Beremiz\Python27\pythonw.exe dyplcide.py"

编辑原因:修改错误内容

出0入0汤圆

发表于 2020-2-13 23:44:03 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2020-2-14 11:27:56 | 显示全部楼层
落叶知秋 发表于 2020-2-13 23:39
本来打开上位机的方式是在快捷方式里写好了的,快捷方式是通过运行pythonw.exe,和带入一些运行参数来启 ...

软件已经可以打开了,但是一点击编译软件就卡死,你遇到过没?我用的win10

出0入0汤圆

发表于 2020-2-14 11:36:02 | 显示全部楼层
收藏了,这个源码值得借鉴。感谢分享

出40入42汤圆

 楼主| 发表于 2020-2-14 12:09:40 来自手机 | 显示全部楼层
carefree1986 发表于 2020-2-14 11:27
软件已经可以打开了,但是一点击编译软件就卡死,你遇到过没?我用的win10 ...

是卡死还是崩溃了?我暂时没遇到过,用的win7。编译的工程是给的demo还是另外自己建的?

出0入0汤圆

发表于 2020-2-14 12:15:17 来自手机 | 显示全部楼层
[quote]落叶知秋 发表于 2020-2-14 12:09
是卡死还是崩溃了?我暂时没遇到过,用的win7。编译的工程是给的demo还是另外自己建的? ...[/quote我自己建立的,直接卡死了

出0入0汤圆

发表于 2020-2-14 12:27:43 来自手机 | 显示全部楼层
落叶知秋 发表于 2020-2-14 12:09
是卡死还是崩溃了?我暂时没遇到过,用的win7。编译的工程是给的demo还是另外自己建的? ...

我这个电脑装有plcopen,这个不会卡死,都是用的beremiz

出40入42汤圆

 楼主| 发表于 2020-2-14 13:29:20 来自手机 | 显示全部楼层
carefree1986 发表于 2020-2-14 12:27
我这个电脑装有plcopen,这个不会卡死,都是用的beremiz

可以将你自建的工程上传吗?我后面可以研究一下

出0入10汤圆

发表于 2020-2-14 17:26:22 | 显示全部楼层
win10 x64系统
打开工程会出现这个错误,



编译出现这个。

本帖子中包含更多资源

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

x

出40入42汤圆

 楼主| 发表于 2020-2-14 22:44:21 | 显示全部楼层
硬邦邦 发表于 2020-2-14 17:26
win10 x64系统
打开工程会出现这个错误,

是安装时自带的demo工程吗?
还没有在win10下测试过,问题不好定位,后面会测试和查一下BUG

出0入0汤圆

发表于 2020-2-15 00:32:21 | 显示全部楼层
是安装时自带的demo工程吗?
是的。自带的demo

出0入0汤圆

发表于 2020-2-23 10:45:58 | 显示全部楼层
落叶知秋 发表于 2020-2-13 23:39
本来打开上位机的方式是在快捷方式里写好了的,快捷方式是通过运行pythonw.exe,和带入一些运行参数来启 ...

1、无法引导的解决办法
1、1把原python卸载。使用本程序自带的python,自行复制python27.dll
1、2把ide安装在C盘根目录下

快捷方式的目标里自动生成 C:\Beremiz\Python27\pythonw.exe C:\Beremiz\DYPLC\dyplcide.py

这样就可以正常启动ide了。

2、正常打开ide后。打开项目程序。生成代码没法进行。是不是那里配置还是不对。如下图

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2020-2-23 11:26:36 | 显示全部楼层
正点原子的stm32f103 Mini开发板  这个也分版本。现在是V3.X

没有仔细核对过。mini版本之间的区别。

出40入42汤圆

 楼主| 发表于 2020-2-23 13:43:50 | 显示全部楼层
本帖最后由 落叶知秋 于 2020-2-23 13:46 编辑
siemenswjl 发表于 2020-2-23 10:45
1、无法引导的解决办法
1、1把原python卸载。使用本程序自带的python,自行复制python27.dll
1、2把ide安 ...


在进行编译转换梯图的时候会先将[梯图]转成[ST]脚本语言,再将[ST]转成[C]语言,最后将C语言文件编译成二进制文件,
在这3个转换过程当中,第一个和第二个流程是用到了跟Beremiz配套使用的转换程序matiec.exe,这个是Beremiz项目维护者提供的一个编译转换程序,
第三个把C语言编译成二进制的流程是使用gcc,使用gcc进行编译的时候需要路径设置,这个是在快捷方式里面【起始位置】那里设置好的。

看这个图片下面的提示信息,应该是卡在了第二个流程上,就是将[ST]转成[C]语言过程中,这个过程中使用到了Python调用系统cmd去调用matiec编译代码文件的功能,
我看了下代码,应该是定位在文件 [beremiz\ProjectController.py]的_Compile_ST_to_SoftPLC(self)方法中,应该是那句使用了ProcessLogger(……)的代码,
里面使用了调用系统cmd的模块,不知道是不是Python调用系统cmd失败的问题,可以提供一下你操作系统的版本信息吗?我好查一下

另外,我手上正点原子的STM32_Mini板的版本是V3.41

编辑原因:修改错字

出0入247汤圆

发表于 2020-2-23 13:55:42 来自手机 | 显示全部楼层
感觉它的方式不是很灵活,为什么不做成字节码解析的模式

出40入42汤圆

 楼主| 发表于 2020-2-23 14:01:04 | 显示全部楼层
mcu_lover 发表于 2020-2-23 13:55
感觉它的方式不是很灵活,为什么不做成字节码解析的模式

做成字节码解析的模式会更加灵活吗?

出0入0汤圆

发表于 2020-2-23 15:02:58 | 显示全部楼层
本帖最后由 siemenswjl 于 2020-2-23 15:14 编辑
落叶知秋 发表于 2020-2-23 13:43
在进行编译转换梯图的时候会先将[梯图]转成[ST]脚本语言,再将[ST]转成[C]语言,最后将C语言文件编译成二 ...



系统:win7 x64  旗舰版 SP1





ok。淘一块V3.41 MINI STM32

出0入0汤圆

发表于 2020-3-17 19:34:03 | 显示全部楼层
落叶知秋 发表于 2020-2-23 13:43
在进行编译转换梯图的时候会先将[梯图]转成[ST]脚本语言,再将[ST]转成[C]语言,最后将C语言文件编译成二 ...

上工具调了一下,卡死的位置是在 findSupportedOptions 函数上,原因是打包的 matiec 缺少libgcc_s_seh-1.dll,补上即可
下载这个文件,解压缩到matiec文件夹下即可

本帖子中包含更多资源

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

x

出40入42汤圆

 楼主| 发表于 2020-3-17 19:47:30 | 显示全部楼层
肇恒博 发表于 2020-3-17 19:34
上工具调了一下,卡死的位置是在 findSupportedOptions 函数上,原因是打包的 matiec 缺少libgcc_s_seh-1 ...

非常谢谢你反馈的解决方案
matiec是我用msys对源码编译出来的,没有考虑到库的依赖,再次感谢

出0入0汤圆

发表于 2020-4-20 01:24:47 | 显示全部楼层
落叶知秋 发表于 2020-3-17 19:47
非常谢谢你反馈的解决方案
matiec是我用msys对源码编译出来的,没有考虑到库的依赖,再次感 ...

赞赞赞赞赞赞

出0入0汤圆

发表于 2020-4-22 23:50:55 | 显示全部楼层
太厉害了!~~~~

出0入0汤圆

发表于 2020-4-23 00:22:45 来自手机 | 显示全部楼层
标记一下,有空学习

出0入0汤圆

发表于 2020-5-27 16:47:49 | 显示全部楼层
你好,请问一下,运行beremiz刚开始确实DLL,把您的DLL下载放到Python27文件夹后,软件不提示缺少了,但是还是打不开,电脑桌面的软件图标是空白的,您知道是怎么回事吗

出0入0汤圆

发表于 2020-5-27 16:50:19 | 显示全部楼层
你好,安装完运行beremiz软件,先是提示DLL确实,解决完之后,双击打开软件没有任何反应,您知道是怎么回事吗?楼主

出0入0汤圆

发表于 2020-5-27 16:51:41 | 显示全部楼层
那个软件beremiz一直打不开,双击没有任何反应是什么情况呢

出40入42汤圆

 楼主| 发表于 2020-5-27 17:30:41 | 显示全部楼层
wawmmwzq 发表于 2020-5-27 16:51
那个软件beremiz一直打不开,双击没有任何反应是什么情况呢

快捷方式的图标空白的问题是因为我打包的脚本写的有问题,没有把图标资源文件打包进去,这个没关系的

双击了没反应的问题,你可以先参考下60楼的内容,如果还有问题可以再提出来

出0入0汤圆

发表于 2020-5-27 17:57:07 | 显示全部楼层
那个beremiz在win10上面打不开啊,楼主

出0入0汤圆

发表于 2020-5-27 17:58:06 | 显示全部楼层
楼主那软件打不开啊

出0入0汤圆

发表于 2020-5-27 18:13:39 | 显示全部楼层
落叶知秋 发表于 2020-5-27 17:30
快捷方式的图标空白的问题是因为我打包的脚本写的有问题,没有把图标资源文件打包进去,这个没关系的

双 ...

"E:\set up\beremiz\Python27\pythonw.exe" E:\set up\beremiz\DYPLC\dyplcide.py

出0入0汤圆

发表于 2020-5-27 18:14:16 | 显示全部楼层
wawmmwzq 发表于 2020-5-27 18:13
"E:\set up\beremiz\Python27\pythonw.exe" E:\set up\beremiz\DYPLC\dyplcide.py

这个就是快捷方式目标的内容,楼主

出40入42汤圆

 楼主| 发表于 2020-5-27 18:38:05 来自手机 | 显示全部楼层
wawmmwzq 发表于 2020-5-27 18:14
这个就是快捷方式目标的内容,楼主

把双引号去掉,或者把后面那一截也加上双引号,试一下

出0入0汤圆

发表于 2020-5-27 18:45:30 | 显示全部楼层
牛人一个!

出0入0汤圆

发表于 2020-5-27 20:06:50 | 显示全部楼层
落叶知秋 发表于 2020-5-27 17:30
快捷方式的图标空白的问题是因为我打包的脚本写的有问题,没有把图标资源文件打包进去,这个没关系的

双 ...

已经好了,楼主,但是那个软件  我点击构建项目的时候,程序就一直显示未响应的状态,这个是啥原因呢

出40入42汤圆

 楼主| 发表于 2020-5-27 21:50:09 来自手机 | 显示全部楼层
wawmmwzq 发表于 2020-5-27 20:06
已经好了,楼主,但是那个软件  我点击构建项目的时候,程序就一直显示未响应的状态,这个是啥原因呢 ...

看帖子啊,77楼

出0入0汤圆

发表于 2020-5-28 10:12:30 | 显示全部楼层
您好,楼主,我这点击连接PLC后,下面console打印  已经连接,请断开连接,传输plc的时候下面打印传输失败是什么原因呢

出40入42汤圆

 楼主| 发表于 2020-5-28 10:25:57 | 显示全部楼层
wawmmwzq 发表于 2020-5-28 10:12
您好,楼主,我这点击连接PLC后,下面console打印  已经连接,请断开连接,传输plc的时候下面打印传输失败 ...

硬件连接的是什么?是第一次下载还是什么情况下出现的?

出0入0汤圆

发表于 2020-5-28 10:27:31 | 显示全部楼层
是第一次下载,连接的stm32f4探索版的

出40入42汤圆

 楼主| 发表于 2020-5-28 10:52:06 | 显示全部楼层
wawmmwzq 发表于 2020-5-28 10:27
是第一次下载,连接的stm32f4探索版的

你下位机控制器那边是自己改过的程序吗?我这边没有提供过stm32f4系列的RTE程序

出0入0汤圆

发表于 2020-5-28 11:00:30 | 显示全部楼层
落叶知秋 发表于 2020-5-28 10:52
你下位机控制器那边是自己改过的程序吗?我这边没有提供过stm32f4系列的RTE程序 ...

嗯嗯,我直接用你的,没有改,那是不是我需要改成stm32f4的rte程序,下进去才能连接成功呢,我刚刚给您说的连接失败的是用你的rte程序,就没有改

出40入42汤圆

 楼主| 发表于 2020-5-28 11:25:09 | 显示全部楼层
wawmmwzq 发表于 2020-5-28 11:00
嗯嗯,我直接用你的,没有改,那是不是我需要改成stm32f4的rte程序,下进去才能连接成功呢,我刚刚给您说 ...

根据你这边的反馈来看,可能你还需要多了解一些系统运行架构和流程方面的知识,目前这个帖子的内容还不属于一个成熟的可以直接拿来就用的项目,仍然处于测试验证的阶段,
大家可以拿来参考或研究其中的架构和实现方式,目前我也在用业余时间慢慢做一些补充和修正,具体进度还不会很严谨的给出来

说回你提出的问题,本贴提供的程序是在正点原子的stm32f103的mini开发板上做的测试样例,如果你需要在其他的硬件平台运行,则需要:

1.把关于stm32f103 mini板的一些底层处理代码替换,如flash的规划和擦写,串口的配置,io的配置等;
2.把电脑端的Beremiz IDE的源代码中(主要是DYPLC里面的内容),添加修改处理编译C代码部分的GCC参数内容,要重新修改成对应的芯片平台,以及代码段的地址分配;

其他一些通用的模块就不需要动了,前提是你要先对整体的架构有了一个比较直观的了解,知道哪些应该改,哪些不应该改。

出0入0汤圆

发表于 2020-8-6 17:28:09 | 显示全部楼层
佩服支持
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-3 13:33

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

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