codesys初学者求教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codesys初学者求教相关的知识,希望对你有一定的参考价值。

我按照codesys用户手册一步步试着编写交通灯程序,最后编译时说变量未定义,用户手册上没说在什么地方定义。。。 新人不知。。。 求教

还有用户手册上的这个定义全局变量是什么意思? 我没找到定义的地方。。。

前面的人就是复制拷贝,你这个明明是codesys,他给你整个WINDOWS,
codesys其实和C语言都有点像,虽然是PLC编程语言。普通的PLC的输入输出点都是指定的,内部寄存器也是指定的,不管是数据寄存器和中间寄存器,都是指定的。但是codesys系统不是,你每用一个变量,你都需要定义,你需要重新开始学习才行,先高清楚codesys的数据结构,比如说你定义了一个light1这个变量,它也许是个function,也许是个函数,也许是个整形变量,也许是个字节变量,也许是个局域变量,也许是个全局变量,但是不管是那种变量,都是需要你定义的,你不定义系统是不知道你起的这个light1是什么的,它可不会翻译说这个是个灯,其实这个灯是个功能块,是可以实现一个功能的程序指令集。是可以直接被其他功能块和程序调用的。总之扯了很多,估计你也还是不懂,找点codesys的教材从最开始学吧。先明白codesys的数据是怎么定义的。
参考技术A 动态链接库DLL的动态链接库。在Windows中,许多应用程序不完整的可执行文件,它们被分为一些相对独立的动态链接库,DLL文件,在系统下。当我们执行一个程序时,相应的DLL文件就会被调用。应用程序可以有多个DLL文件,一个DLL文件也可能被几个应用程序所共享,这个DLL文件被称为共享DLL文件。 DLL文件一般都是存储在C:\ Windows \ System目录。
1,如何理解应用程序的DLL文件

右键单击该应用程序,并选择在快捷菜单中的“快速查看”命令,在随后的“快速查看”窗口“到表”列,你会看到使用的DLL文件。

我怎么知道DLL文件

几个程序运行注册表编辑器,进入HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsrft \ WINDOWS \当前版本\ SharedDLLs子键来查看右侧窗口中显示了所有DLL文件及其关联数据,数字数据右括号说明了几个方案,(2)两个方案,(0)表示没有程序使用,你可以将它删除。

DLL文件丢失,如何解决
有时会提醒您卸载文件删除一个DLL文件的,可能会影响其他应用程序的运行。所以,当你卸载软件时,有可能误删共享的DLL文件。一旦缺少DLL文件,如果你能确定其名称,可以在Sysbckup文件(系统备份文件夹),以找到该DLL文件,将它复制到系统文件夹中。如果这不起作用,电脑启动时,他总是“*** dll文件丢失......”提示框时,您可以运行Msconfig中开始/运行“,进入系统配置实用程序”对话框中,单击“选择”SYSTEM.INI“标签来识别提示缺少DLL文件,所以它不被选中,所以引导的错误消息将不会出现。追问

参考技术B 地址去掉试试

codesys怎么激活EN和ENO属性?

参考技术A EN/ENO实际上相当于C中的BOOL类型的函数的RETURN语句,只不过在PLC中的使能更强一点。为照顾初学者,我在这里简单阐述一下使能含义:
在PLC中的函数能够运行前提是激活函数,使能就是让函数激活。



激活EN/ENO 机制后,运行数学函数等每个 SCL 指令,都必须查询使能输出 ENO。这会大大
加大PLC运行程序的计算负担,

因此笔者建议在进行程序调试过程时建议全局打开EN/ENO 机制,如果需要在个别程序块中使用,只需要单独激活机制即可。在调试完成以后,应用到生产实际中时,可以关闭改机制。

需要特说说明的是,在SCL中即使不激活EN/ENO 机制也可以使用ENO变量。

1. EN/ENO 机制的优点与基本作用:

使用使能输出 ENO,可检测和处理某些运行系统错误。后续指令的执行取决于该使能输出的信号状态。使用 EN/ENO 机制可避免程序崩溃。块状态将以布尔型变量的形式进行传递。

简言之,EN为false可以禁止函数块的使用,ENO为false可以禁止后续块的调用。
如下图:当使能为1时,后续块能够被调用;

当使能为0时,后续块不能够被调用;

其中,使能块的代码如下:

IF #输入=0 THEN
// 当输入为0时取消后续块的使能
ENO:=FALSE;
END_IF;
1
2
3
4
1
2
3
4
2. EN/ENO机制的激活使用

单程序块激活使用,如下图右击程序块,点击属性


勾选自动置位EN/ENO



全局激活使用,如下图,在设置栏选择选项,点击设置

按下图所示勾选即可


3. EN/ENO机制的主要使用

在程序运行过程中,EN/ENO 机制将检查某些指令的执行是否出错。运行时如果发生错误,则 ENO 块将置位为“0”。这在调试程序过程中,会显示出强大的运作能力。
以官方的除法为例:
使能块的程序如下:

没有激活EN/ENO机制时可以看到,除数为0显然这个计算过程是错误的,但是ENO依旧使能为1,后续块函数依旧被激活

激活EN/ENO机制以后可以看到,除数为0这个计算过程是错误的,ENO使能为0,后续块函数没有被激活

以上是关于codesys初学者求教的主要内容,如果未能解决你的问题,请参考以下文章

求教,关于codesys库的问题

codesys怎么激活EN和ENO属性?

初学者,求教django1.8 如何调用python3.4脚本的问题

求教学习emwin的方法

No rule to make target all'初学者求教

求教高手,初学javaweb,有一个关于抽奖后台程序的疑惑