课程中心
HOME
课程中心
正文内容
永宏plc编程软件指令 永宏PLC程序分享8_交替输出控制程序(传统与指令2种方式)
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

永宏PLC程序分享8_交替输出控制程序(传统与指令2种方式)

这次,我们分享的是台湾品牌永宏PLC的程序分享,让更多的朋友可以了解国产PLC。

这是一个交替输出控制程序。喜欢的伙伴们请多多点赞、关注、收藏、转发。

1.传统的编程方法

传统编程法

2.指令法,利用 FUN10.TOGG 交替开关控制输出,方便简单

指令编程法

题外简介:永宏电机股份有限公司,于1992年由一群从事PLC设计开发工作多年的工程师创立于台湾。一直以来,永宏全心专注在高功能的中小型及微型PLC市场领域,创立的自有品牌FATEK目前在业界已享有颇高的知名度。

威纶通触摸屏宏指令,PLC指令分类函数,详解与实操

视频加载中...

前面小节我们介绍过数学运算,字符串处理,数据转换,数据操作,宏控制分类函数,

这小节我们继续了解PLC分类下的函数,通过编写程序来实践。

宏指令在编写过程当中我们可以使用PLC相关的函数控制与触摸屏连接的硬件,

读取硬件数据,也可以向硬件写入数据,当然也可以读写触摸屏自己寄存器的数据。

这类函数共有5个,分别是 GetData,GetDataEx, SetData, SetDataEx, GetError。

下面是每个函数的介绍。

1.GetData。

函数用于从PLC等硬件读取数据,实际使用频率非常高。

例如int result[2],result1

GetData(result[0], "FATEK FB Series", D, 0, 1)

此函数从永宏PLC(FATEK FB Series)读取数据,

读取的寄存器起始地址为 D 0,

读取的数据个数为1个,

结果保存在result数组里,我们传递的数组元素类型为int,所以读取数据为1个整数。

这里的硬件名称” FATEK FB Series”为我们在编程软件里添加的硬件,

在创建一个触摸屏项目时会提示添加硬件,

默认只有触摸屏一个硬件,名称为“Local HMI”。

然后是硬件的寄存器地址,我们知道PLC一般都有X,Y,M,D等类型寄存器,

每种寄存器都有很多供使用,比如D0表示第0个数据寄存器,

在这个函数中就可以传递寄存器类型加索引来访问,

另外还有一种情况,一屏多机时,可以修改寄存器索引使用形式。

例如,我们修改为

GetData(result[0], "FATEK FB Series", D, 2#0, 1)

表示读取第二台plc的D0数据,上面函数中的2表示PLC站号,

只有一个PLC可以不填写。

用于存储结果的变量,可以是一个数组变量,也可以是一个单一变量,

变量类型可以是short,int,float,或bool。

例如下面代码表示读取触摸屏LB0的状态。

Bool result

GetData(result, " Local HMI ", LB, 0, 1)

例如下面代码表示读取触摸屏LW0开始的两个short数据。

short result[2]

GetData(result, " Local HMI ", LW0, 2)

例如下面代码表示读取触摸屏LW0开始的1个浮点数据。

浮点数占用4个字节,所以这里实际读取了LW1,LW0到变量result里。

Float result

GetData(result, " Local HMI ", LW, 0, 1)

2. GetDataEx。

这个函数与GetData使用上是一致的,只是触摸屏在执行这个函数时,

不会等其执行完返回,再往下执行其他代码。

这个功能和前小节介绍的异步调用宏指令,概念上是相似的。

我们知道PLC与触摸屏通讯时,有可能受到干扰,延时响应的,

这个函数可以不等PLC响应,径直执行其他代码,防止程序阻塞。

函数执行的结果可以使用,GetError获取,不为0表示未正确执行。

3. SetData。

有数据获取,对应就有数据设置。

这个函数用于将指定数据写入到PLC等硬件中。

例如下面代码,实现将123写入到触摸屏LW1寄存器中,共写入1个整数。

Int nValue=123.

SetData(nValue, "Local HMI", LW, 1, 1)

参数的含义与函数GetData一致。

4. SetDataEx。

这个函数和SetData在使用上一致,触摸屏在调用这个函数时,

也不会等待其执行完成再执行其他函数。

同样也可以通过函数GetError获取执行结果,不为0表示未正确执行。

5. GetError.

此函数获取其他函数执行结果。

可以在SetDataEx,GetDataEx执行后调用。

从而判断函数执行是否成功。获得错误代码为0表示成功,其他表示不成功。

例如

short nValue

SetDataEx(nValue, "FATEK FB/FBs/B1/B1z Series", D, 0, 1)

int error

GetError(error)

如果上面的函数SetDataEx执行成功,则error为0,不然为非0值。

GetDataEx执行失败,GetError(error) ,error=1

SetDataEx执行失败,GetError(error) ,error=2

我们可以在编写宏指令,编程软件里测试测试这几个函数的功能。

在界面上添加三个数值显示元件,地址LW0用于输入设置值,地址LW1用于显示设置值,

地址LW2用于显示错误代码,再添加宏调用元件,测试编写的宏代码。

界面如下图。

宏指令如下,可以使用屏蔽的代码测试。

macro_command main()

short nValue=123

//GetDataEx(nValue, "Local HMI", LW, 0, 1)

//GetDataEx(nValue, "FATEK FB/FBs/B1/B1z Series", D, 0, 1)

SetDataEx(nValue, "FATEK FB/FBs/B1/B1z Series", D, 0, 1)

int error

GetError(error)

if(0== error) then

//SetData(nValue, "Local HMI", LW, 1, 1)

else

SetData(error, "Local HMI", LW, 2, 1)

end if

end macro_command

相关问答

永宏plc33号指令如何运用?

永宏plc33号指令是用于将一个16位的数值进行移位操作的指令。运用时,需要先将需要进行移位操作的16位数值存入指定的寄存器中,然后设置移位的方向和移动的位数...

永宏PLC中的CLR指令是什么意思?

虽然不知道永宏这个品牌,根据我的经验,CLR是清除的意思,要么把某个位置0,要么把某个字节或字或双字清0,个人觉得前者可能性大,因为对于后者,可以使用传送...

永宏PLC书上写着脉冲输出指令PLSO只能使用一次,怎么理解?

意思就是从你顶部开始编程到END结束,这个PLSO指令只能出现一次,如果你需要多次实用的话就需要中间辅助继电器,来辅助实现了。意思就是从你顶部开始编程到END...

plc程序怎么导入触摸屏?

导入触摸屏通常涉及以下几个步骤:1.通过RS232或USB接口将触摸屏与PLC连接。2.在PLC编程软件中,选择对应的触摸屏型号,并配置通信参数,例如波特率、数据位数...

在S7-200中下载PLC程序后,为什么注释会丢失?

西门子的PLC都不存注释,注释是存在工程文件中的,你编译后下载到PLC的只是指令和数据。永宏的PLC倒是可以将注释存到PLC里。西门子的PLC都不存注释,注释是存...

PLC计数器如何自复位?

带保持功能的,只要接...基本定时器为减1计数,当程序进入运行状态后,定时控制逻辑行接通的瞬间定时器开始工作。在定时器有带保持功能和不带保持功能的。如果...

PLC怎么学?

您好,小吴帮您回答,用通俗的语言让您明白电气知识。PLC,英语单词,ProgrammableLogicController,可编程逻辑控制器。其实让我来看PLC就是一台小型的电脑...●.....

帮个忙哪位朋友可以推荐一下!潮州服务好的永宏plc,永宏plc...

[回答]都自动设置,输入输出端子也将自动配置,这些预设的应用宏配置大大节约了调试时间,减少出错。PLC建议采用西门子S7-200型。是模块化中小型PLC系统,能...

台达触摸屏宏指令?

[回答]污染源GPRS/CDMA/ADSL/LAN在线监测系统。PLC:主营西门子SIEMENS、ABB、台达DELTA、菱MITSUBISHI、永宏FATEK。兼营施耐德Modicon、欧姆龙OMRON、罗...

西门子300编程中,FB块用到C或者T之后的多次调用会有地址重复吗?

题,程序一般如果有重复,是优先从...你好,C或者T,再或者M,这些重复调用有时也是可以的,你在试面的时候,看一下调用了的是否对程序有影响,如果没有,侧没有问题,...

 少年大钦差第一部  黄曲霉毒素b1 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部