酷德网

Kx-m3酷自造发布!
查看: 110|回复: 0

CodeSys组件编写

[复制链接]
  • TA的每日心情
    擦汗
    2019-8-13 14:13
  • 签到天数: 32 天

    [LV.5]常住居民I

    发表于 2019-8-2 00:11:15 | 显示全部楼层 |阅读模式
    CodeSys(Controller Development System) 是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。目前,CodeSys在全世界范围内应用广泛,例如ABB、bachmann、Heesn、ifm、EPEC、Intercontrol等供应商都在使用该平台开发的编程软件。本篇文章简单的介绍Codesys的组件编写,具体内容如下:

    CodeSys lib库的编写
    a).打开CodeSys软件,新建lib库工程;
    b).新建add函数接口 a+b=c的功能;
    c).定义输入变量;
    3449e52654ee4f294cbde08f2f5fb76c.png

    d).双击“工程信息”,编辑lib的属性;
    e).编译检查add函数的正确性;
    f).鼠标右键点击“cmpAdd(FUN)”,在出现的下拉菜单中选择“属性”选项,在弹出的对话框中将勾选“外部实现”,将cmpadd实现更改为外部C“cmpAdd(FUN)(EXT)”;
    b21ac9bb084b9dd0497c69dccecfc9fb.png
    g).菜单栏点击“编译”选项,在出现的下拉菜单中选择“生成运行时系统文件...”,在弹出的对话框中勾选中“M4接口文件”和“C根文件”,生成外部C函数;

    19d11ea0728dc2f2dc259135ee82cf68.png
    结果显示:
    9b46285a6664681b905a0cefe0575a6d.png   

    外部 C函数的编写
    a).复制“CmpTemplateEmpty”,将目录名称修改为“cmpAdd”,修改目录中的文件名,修改之后结果如下;
    646b7f72a77a9084b6e61ced8111ac0e.png
    b).“cmpAddDep_m4.bat”和“cmpAddItf_m4.bat”文件中的“CmpTemplateEmpty”全部替换成“cmpAdd”;打开建立lib库时生成的C文件,将函数(如图所示):
    b23cc78b8a4d2699cc42bcd45ea2379e.png
    复制到 “CmpTemplateEmpty” 目录中的 “cmpAdd.c” 文件的末尾;使用建立lib库时生成的m4文件替换掉 “CmpTemplateEmpty” 目录中的 “cmpAddItf.m4” 文件;将 “cmpAddDep.m4” 文件中的 “CmpTemplateEmpty” 全部替换成“cmpAdd”,将文件中的设备地址 “COMPONENT_VENDORID('0x0001')” ,修改为自己的设备('0x16b0');
    c).使用鼠标左键双击 “cmpAddDep_m4.bat” 和 “cmpAddItf_m4.bat” 文件自动生成 “cmpAddDep.h” 和 “cmpAddItf.h” 文件;

    d).在Source Insight 3软件中编写“cmpAdd”函数,最终结果如下图;
    acc61a27df9e338d58d498ea7090d318.png

    CodeSys测试lib库的工程
    a).打开CodeSys软件,新建测试工程;
    b).在lib工程中点击(),将lib库装入;
    c).在新建的测试工程中双击(),点击(),在()中找到新建的lib,点击确定;
    0f082839e616e93311ff7893c7576c54.png
    d).新建POU程序,调用lib里的cmpadd函数;
    558615a4b6d8d5afd6cb07fe59d59c62.png

    组件编译
    a).将“cmpAdd”组件复制到Linux中;
    b).打开组件中的“Makefile”文件,修改名称、路径以及GCC编译环境,结果如下图所示;
    51e6ae8f28bbe351326432b2094d31c7.png
    aa490f11046c586c9aa9808934421f6e.png

    c9726cc1ea5b1d8a27323c7593115d20.png
    Make编译之后生成(
    2e06822c1506a11179b193edcc73a2ec.png );

    组件测试
    a).将Linux上的“nfsroot”目录挂载到ARM开发板上的“/nfsdir”目录;
    341cc4e76e592feefacbb1ad89b00029.png
    注意:Linux和ARM开发板需要在同一网段。   
    b).将“libcmpAdd.so”文件复制到“/usr/lib”目录下;
    e237094647265432d3e3025f370a81f9.png
    c).进入“/Platforms/Linux/Bin”目录;
    29c34f2da9b5f3ffd6173ae322a57595.png
    在“CODESYSControl.cfg”文件中添加“cmpAdd”库;
    26d1fb937d64e513137c5b79dd5b88a9.png
    d).运行“codesyscontrol”;
    7c9dbf5b90fe8fe8cdfb42cffa18cdfd.png
    查看打印的信息,确定组件已经添加;
    e).运行测试例程,查看运行。





    打赏鼓励一下!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|小黑屋|手机版|Archiver|酷德论坛 ( 苏ICP备16065247号 )|网站地图

    GMT+8, 2019-9-16 16:56 , Processed in 0.259773 second(s), 42 queries , MemCache On.

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

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