您现在所在的是:

PLC论坛

回帖:3个,阅读:5048 [上一页] [1] [下一页]
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2015/1/30 8:24:47
#0楼

S7-200和200SMART的子程序最多16个输入、输出参数。使用间接寻址可以显著减少输入、输出参数的个数,不再受上述的限制。
下面举一个简单的例子。
子程序“异或运算”对V存储器中连续的若干个字节作异或运算,下面给出了子程序的局部变量和STL程序。
子程序中的BTI指令用于将数据类型为字节的输入参数“字节数B”转换为数据类型为整数的临时变量“字节数I”,用来做FOR指令的当前循环计数器。
输入参数“地址指针”是需要异或运算的数据区的起始地址。子程序中的“*#地址指针”是输入参数“地址指针”指定的地址中变量的值。在循环程序执行的过程中,该指针中的地址值是动态变化的。
图
下图是主程序中调用“异或运算”子程序的程序。调用时指定的“地址指针”的值&VB10是源地址的初始值,即数据字节从VB10开始存放;需要异或运算的数据的字节数为4,异或运算的结果存放在VB14中。
图
实际上该子程序的输入、输出参数还可以进一步地简化:将保存运算结果的字节放在地址指针所指的地址区的第一个字节,需要异或运算的字节数放在第2个字节,需要运算的数据从第3个字节存放。这样就只需要一个输入参数了,当然程序要做相应的改动。但是程序的输入、输出接口没有第一个方案直观。
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=218884&Name=liaochangchu
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
8391
fujifa
文章数:2943
年度积分:77
历史总积分:8391
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2015/1/30 8:44:35
#1楼
这样做的副作用是程序员需要保持清晰的思路,否则一个指针越界,后续差错几乎无从着手。

在子程序中使用指针异常危险。
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2015/1/30 18:53:45
#2楼
以下是引用fujifa2015/1/30 8:44:35的发言:
这样做的副作用是程序员需要保持清晰的思路,否则一个指针越界,后续差错几乎无从着手。

在子程序中使用指针异常危险。
有这个问题。但是即使不用指针,在存储器使用时的地址分配引起的冲突一样地会产生灾难性的后果。
795
570435474lu
文章数:45
年度积分:50
历史总积分:795
注册时间:2014/9/25
发站内信
发表于:2015/3/15 23:08:41
#3楼
廖老师:
现在的情况是,被测转速物体本身是转速是700多转,
物体本身有齿轮数,
一圈大概有300多个齿轮,
现在用接近开关测齿轮是来得出转速,PLC是smart200,可以使用高速计数器模式配合接近开关来测转速吗?
如何设置?

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004