首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"@“标志是什么意思(欧姆龙公司)?

"@“标志是什么意思(欧姆龙公司)?
EN

Stack Overflow用户
提问于 2012-02-17 11:57:12
回答 2查看 9.2K关注 0票数 2

在梯形编程中,"@“标志是什么意思?文档说明@指定二进制模式下的间接DM地址.偏移内存区域:这实际上意味着什么?

请考虑文档中的以下图像:

地址的内容( 16位或小数32767)如何成为单词地址?例如,如果adress 000000001000000:CIO 0有添加@的内容,则CIO 0更改为000000001000000?在上面的说明中到底是什么移动?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-17 12:21:30

这只适用于DM (数据内存)。欧姆龙PLC有许多内存区域。CIO通常只用于输入/输出位。W (work)用于存储工作内存位(考虑RAM),H (hold)用于存储如果功率丢失必须保留其值的位(如硬盘驱动器、位数据)。DM和EM主要用于保存WORD数据,如果电源丢失,也可以存储。当然,这方面没有硬性的规则--在很多情况下,你可以使用CIO位来代替W位,例如,如果你愿意的话,但是每一个都有一些独特的特性来区分它们,使它们更适合于特定的目的。

在这种情况下,@符号就像指针一样工作。如果我使用MOV #1 D300指令,我会将十六进制数据x0001移动到内存位置D300。首先,#1 (第二个参数)是值x0001的十六进制(符号#)常数。如果像上面的例子一样,D300包含值x0100,如果我使用MOV #1 @D 300指令,我不会将值x0001移动到D300,而是将其移动到D300中包含的地址--在本例中是D256。

请注意,@符号用于二进制/十六进制格式的指针。如果D300 = x0100,则@D 300的MOV指令将将数据移动到D256 (十六进制0100)。您也可以使用*修饰符来执行MOV #1 *D300,这将把存储在D300中的0100作为BCD值来处理-换句话说,它将指向D100,而不是指向D256!

使用指针可以使您不必修改MOV指令,例如,如果您想在不同的条件下将值定向到一系列不同的位置。如果要将内存移动重定向到不同的地址,只需更新存储在D300中的地址值。

请注意,@符号可以用助记符来表示其他东西--例如,@LD意味着差异向上接触!

票数 3
EN

Stack Overflow用户

发布于 2012-07-10 08:10:15

欧姆龙 PLC中函数中的@符号意味着它只能在最前沿运行。例如,对于较旧的PLCs @INC或使用较新的PLCs,@++意味着在前沿将信道增加1。较新的PLCs中的++函数是二进制的,而在旧的PLCs中的INC函数是BCD。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9327806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档