装库之前先分清两种东西,一个是库文件(.library或.compiled-library),一个是设备描述文件(.devdesc.xml)。库是给程序用的,函数块、数据类型、接口定义这些;设备描述是给设备树用的,扫描硬件、加PLC型号、配IO模块。两样都缺的时候,先装设备描述再装库,顺序反了有时候库里的接口引用不到设备。
装库走工具菜单下的库存储库,英文界面是Library Repository。打开之后点安装,文件类型默认过滤.compiled-library和.compiled-library-v3,V3 SP15之后编译出来的库都是.compiled-library-v3,老版本用.compiled-library。选中文件点打开,装完列表里能看到库的名字、版本、公司,右边详情按钮点开看依赖关系和安装位置。SP15及以上的库带数字签名,没签名的库装的时候会提示,确认忽略可以继续装,但编译的时候可能报错。

库存储库的路径可以改,默认装在CODESYS安装目录下的Libraries文件夹。点编辑位置能加新的路径,新的存储库位置必须是空目录,或者指向一个已经存在的有效存储库。系统自带的System存储库不能改,界面里用斜体标出来。把公司共享盘上的库文件夹加到路径列表里,以后装库直接从共享盘选,不用每个人单独拷。
第三方库导入之后如果报“库不可用”,先看项目库管理器里是不是缺依赖库。在库管理器右键选“Download missing libraries”,CODESYS会去配置的下载服务器找缺失的库。找不到就打开占位符对话框,找那个没解析的占位符,在库那一列选最新版本手动绑上去。占位符是库里引用其他库的占位符名,没绑上具体库的时候编译不过。

如果第三方供应商给的是.package文件,不是单独的.library文件,走的是包管理器,工具菜单下Package Manager。包文件可以同时包含库、设备描述、插件、版本配置这些东西,装一个package相当于改了IDE层面而不是项目层面,装完要重启CODESYS才生效。V3.5 SP2之后包管理器里直接有商店按钮,能在线装;SP2之前先把package下到本地,再点安装选文件。
库的版本冲突是经常碰到的。同一个库装了两个版本,项目里引用的是旧版,IDE里有新版,编译报错说类型不匹配或者接口对不上。在库管理器里把项目引用的版本改成和IDE里装的一致,或者把IDE里多余的旧版本卸掉。升级IDE之后旧项目打不开,用Library Manager看每个库的版本号,把不匹配的逐个改过来,别一次性全升最新,有些库新版接口变了,升完程序里的调用全要改。
离线环境装库,先把%ProgramData%\CODESYS\certs文件夹从有网的机器导出,拷到离线机器的同一个路径,重启CODESYS服务,不然签名验证过不去,库装上了也编译报错。给同事传项目的时候用“文件 > 另存为工程存档”,勾上“包含所有库文件”,对方打开存档自动解压库,不用手动一个个装。
最后记一点,装库之前把当前项目关了,开着项目装库有时候文件被锁住,装完提示成功但实际没写进去。装完重启一下CODESYS,特别是装package的时候,插件和版本配置只在IDE启动时加载。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删