历史上的今天
返回首页

历史上的今天

今天是:2024年09月03日(星期二)

正在发生

2020年09月03日 | 建立一个存储机器人信号的功能块FB5

2020-09-03 来源:酷扯儿

BLKMOV:存储区移动(SFC20)

使用“块移动”指令,可将存储区(源区域)的内容移动到其它存储区(目标区域)。移动操作沿地址升序方向执行。可使用 ANY 指针定义源区域和目标区域。

移动操作的通用规则

源区域和目标区域不得重叠。如果源和目标区域长度不同,则只能移动较小长度的区域。

如果源区域小于目标区域,则将整个源区域的数据都写入到目标区域中。而目标区域的其余字节则保持不变。

如果目标区域小于源区域,将写满整个目标区域。而忽略源区域的剩余字节。

如果复制 BOOL 数据类型的区域,则此区域的指定长度必须是 8 的整数倍,否则将无法执行指令。

移动串的规则

还可以使用“块移动”指令移动 STRING 数据类型的源区域和目标区域。如果只有源区域为 STRING 数据类型,则移动字符串中实际包含的字符。有关实际和最大长度的信息,将写入目标区域。如果源和目标区域都是 STRING 数据类型,则将目标区域中字符串的当前长度设置为实际移动的字符数。

如果要移动字符串实际长度和最大长度的信息,则需要以字节为单位将相关区域指定给 SRCBLK 和DSTBLK 参数。

函数值 (RET_VAL) INT 错误信息

0000 无错误

8092 源或目标区域只能在装载中。

8xyy 有关错误的更多信息,

使用复杂参数类型ANY:

STEP 7以10个字节存储参数类型ANY。当构造类型为ANY的参数时,必须确保所有10个字节都被占用,因为调用块估计参数整个内容的值。例如,如果以字节4指定DB编号,也必须以字节6明确地指定存储器区。

参数类型的ANY格式

对于参数类型,STEP 7存储数据类型和参数的地址。重复因子始终是1。字节4、5和7始终是0。字节8和9指示、计数器或块的编号。

重复因子识别由参数类型ANY传送的指示数据类型的数量。这意味着可以指定数据区,也可以和参数类型ANY结合使用数组和结构。STEP 7将数组和结构识别为数据类型的编号(借助重复因数)。例如,如果要传送10个字,必须为重复因子输入数值10,并且必须为数据类型输入数值04。

地址以格式By.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。位地址存储在字节9的位0 - 2。

建立一个存储机器人信号的功能块FB5

FUNCTION_BLOCK FB5

VAR_INPUT

Rob_A:POINTER; 机器人的地址

pRobAAT Rob_A: STRUCT 拆分地址

DBNR :WORD;

BZ :DWORD;

END_STRUCT;

END_VAR

VAR_OUTPUT

ST_ROB: ST_Rob;

END_VAR

VAR_TEMP

r_Rob_A :INT ;

AnyRob_A :ANY;

pRob_AAT AnyRob_A: STRUCT

SyntaxId:BYTE; // Byte 0

DataType:BYTE; // Byte 1

DataCount:WORD; // Byte 2+3

DBNR :WORD; // Byte 4+5

BZ :DWORD;// Byte 6

END_STRUCT;

AnyST_ROB :ANY;

pST_ROBAT AnyST_ROB: STRUCT

SyntaxId: BYTE; // Byte 0

DataType: BYTE; // Byte 1

DataCount:WORD; // Byte 2+3

DBNR :WORD; // Byte 4+5

BZ :DWORD; // Byte 6

END_STRUCT;

AnyST_ROB_A_Rob:ANY;

pST_ROB_A_RobAT AnyST_ROB_A_Rob: STRUCT

SyntaxId: BYTE; // Byte 0

DataType: BYTE; // Byte 1

DataCount:WORD; // Byte 2+3

DBNR :WORD; // Byte 4+5

BZ :DWORD; // Byte 6

END_STRUCT;

erg_SFC20 :INT;用于SFC20的变量反馈点

END_VAR

VAR

END_VAR

Adr_Rob_A := WORD_TO_INT(DWORD_TO_WORD(SHR(IN:=pRobA.BZ,N:=3))); 提取IO点地址

pRob_A.SyntaxId := B#16#10;

pRob_A.DataType := 02;

pRob_A.DataCount := W#16#22;

pRob_A.DBNR := pRobA.DBNR;

pRob_A.BZ := pRobA.BZ;

AnyST_ROB := ST_ROB.A1_8_Folgesegelung;DB块首位

pST_ROB.SyntaxId := B#16#10;

pST_ROB.DataType := 02;

pST_ROB.DataCount := W#16#22;

AnyST_ROB_A_Rob := ST_ROB.A_Rob;

pST_ROB_A_Rob.SyntaxId := B#16#10;

pST_ROB_A_Rob.DataType := 02;

pST_ROB_A_Rob.DataCount := W#16#22;

erg_SFC20 := BLKMOV(SRCBLK := AnyRob_A

,DSTBLK:= AnyST_ROB

);传输机器人的输出状态

erg_SFC20 := BLKMOV(SRCBLK := AnyST_ROB

,DSTBLK:= AnyST_ROB_A_Rob

);

推荐阅读

史海拾趣

Analog Modules Inc公司的发展小趣事

Analog Modules Inc. 是一家总部位于美国马萨诸塞州的公司,专注于设计和生产高性能模拟电子模块和系统,为军事、航空航天、医疗和工业等领域提供解决方案。以下是 Analog Modules Inc. 公司发展的相关故事:

  1. 创立与初期阶段:Analog Modules Inc. 成立于1970年,由一群电子工程师创办。公司最初的目标是满足军事和航天领域对高性能模拟电子模块的需求。在成立初期,公司致力于开发和生产高精度的模拟信号处理模块和系统,以满足客户对于高可靠性和高性能的要求。

  2. 技术创新与产品优化:Analog Modules Inc. 在技术方面不断进行创新,并持续优化其产品线。公司的产品涵盖了广泛的领域,包括模拟信号处理、数据采集、激光驱动、通信和雷达等。这些产品具有高精度、高可靠性和耐用性,得到了客户的广泛认可和信赖。

  3. 市场拓展与全球业务:随着业务的不断发展,Analog Modules Inc. 将市场重点逐渐扩展到了全球范围。公司与全球各地的客户建立了长期稳定的合作关系,拓展了产品的销售渠道和市场份额。同时,公司还积极参与国际展会和行业交流活动,提升了品牌知名度和影响力。

  4. 应用领域与客户合作:Analog Modules Inc. 的产品广泛应用于军事、航空航天、医疗和工业等多个领域。公司与各类客户进行紧密合作,包括政府军方、航空航天机构、医疗设备制造商和工业自动化企业等。通过与客户的合作,公司不断了解市场需求,提供定制化的解决方案,满足客户的特定需求。

  5. 持续发展与未来展望:Analog Modules Inc. 将继续致力于技术创新和产品研发,以满足不断变化的市场需求。公司将继续加强与客户和合作伙伴的合作关系,不断拓展业务领域,进一步提升产品性能和服务水平。在未来,Analog Modules Inc. 将继续保持行业领先地位,为客户提供更加优质和可靠的解决方案。

AAC [American Accurate Components]公司的发展小趣事

进入21世纪,AAC公司继续加大市场拓展力度。2003年,AAC成功拓展了台湾市场,与明基、仁宝电脑和华宇电脑等知名企业建立了合作关系。为了满足这些客户对高品质耳机的需求,AAC开始生产制造耳机产品。这一创新举措不仅丰富了AAC的产品线,也进一步提升了其在电子消费产品市场的竞争力。

Green Solution Technology Co Ltd公司的发展小趣事

AAC公司的创立可以追溯到上世纪90年代初,当时电子音响器件市场正迎来快速发展的机遇。AAC公司敏锐地捕捉到了这一市场趋势,迅速行动,与德国投资者共同成立了中德合资常州威利来电子音响器件有限公司。这一合资举措为AAC带来了先进的生产技术和管理经验,使其生产的讯响器和微型扬声器迅速打开了德国市场的大门。这一成功的合资经验为AAC后续的发展奠定了坚实的基础。

佰宏(BHFUSE)公司的发展小趣事

佰宏公司始终坚持开放合作的理念,与多家知名企业建立了战略合作伙伴关系。例如,与立讯精密、奋达科技等实力企业的合作,不仅为佰宏带来了更多的业务机会,也进一步提升了公司的品牌影响力和市场地位。这些合作不仅带来了经济效益,更为佰宏的长远发展奠定了坚实的基础。

Avic公司的发展小趣事

随着全球化的推进,Avic公司不断加强与国际航空工业界的合作。公司与多家国际知名航空企业建立了战略合作关系,共同开展航空电子技术的研发和生产。这些合作不仅促进了中国航空工业与国际先进水平的接轨,也为中国航空工业的国际化发展提供了有力支持。

Geo Semiconductor Inc公司的发展小趣事
通过合理的布线、使用屏蔽线、加装滤波器等措施,减少外部电磁干扰对控制电路的影响。

问答坊 | AI 解惑

AVR单片机应用系统开发典型实例

我们用的AVR系统,有一套教材 上传和大家分享咯…

查看全部问答>

各个管脚的含义

在下载程序时 cyclone II 各个管脚Q O S n代表什么含义呢 -%-278280-%-…

查看全部问答>

没有任何内存的复古磁带MP3

复古磁带又出现了!这次要介绍的是款磁带形式的 MP3,没错,它看起来很像是一个磁带,却是个 MP3。它的特色可是不为人知了,看外形与价格也知道,没有昂贵的LCD 屏幕,而且它还有一个秘密,就是没有存储,底部可以发现个 SD 槽,那就是要点所在,你 ...…

查看全部问答>

在串口调试工具上,用AT命令集打电话发短信的步骤是怎样的.

在串口调试工具上,用AT命令集打电话发短信的步骤是怎样的.…

查看全部问答>

没有DCD引脚,怎么样判断modem是否在线?

当modem处于在线数据模式(on-line data),不通过任何引脚的值,有什么方法可以判断modem还是在线的?…

查看全部问答>

哪个领域的 程序员比较高薪?

小弟也是程序员,不过总听公司的前辈们说,做MPEG视频算法啥的都是牛人,不知道是不是指这个领域薪水比较高? 说心里话,既然入了行,当然希望工资高点,挑战多点没关系,既然已经选择了这个职业,也不怕再多吃点苦,多用点脑,只是找不准方向, ...…

查看全部问答>

关于Platform Builder 建立和模拟器的连接

请教一个问题:   我在Platform Builder 建立和模拟器的连接、下载运行时映像时,遇到下面的问题。   the specified  ce boot image couldnot  be  loaded.   your virtual machi ...…

查看全部问答>

直流电源输出24V电压低的原因,求解~~~~~

我单位设备最近直流24V电源电压一直偏低,一般工作的时候电压都在17 -18V,有时候能低到15V,380V变220V变压器电压都比正常低20V左右,220V变24V直流电源在拔掉24V输出的时候,变压器电压恢复正常了,只要接上24V变压器电压变低,直流输出的24V电源 ...…

查看全部问答>

有关使用定时器产生PWM输出的配置问题、求高手!

看了STM32应用上讲的使用定时器产生PWM输出,其中一个配置步骤: 根据需要的频率和占空比计算出输出高电平的时间和低电平的时间:OCHy = 通道y的高电平时间;OCLy =通道y的低电平时间把OCHy写入对应的输出比较寄存器,并启动计数器开始计数,比较 ...…

查看全部问答>

STC单片机 PCA 和DC问题

为什么我的STC当PCA定时和DC运算同时进行时 数据会乱跳,关掉DC运算PCA定时就正常了…

查看全部问答>