首页 理论教育 符号地址寻址的分析介绍,

符号地址寻址的分析介绍,

时间:2023-06-17 理论教育 版权反馈
【摘要】:在STEP7程序中,I/O信号、位存储器、计数器、定时器、数据块和函数块可以使用绝对地址也可以使用符号地址寻址。使用符号地址寻址,增强程序的可读性,地址的符号名分为共享和区域两种。图9-40 编辑符号表符号表的每一行中,在“Symbol”列中定义符号名称,在“Address”列中指定相应的绝对地址,在“Data type”列中自动显示绝对地址的数据类型。

符号地址寻址的分析介绍,

在STEP7程序中,I/O信号、位存储器、计数器、定时器、数据块和函数块可以使用绝对地址也可以使用符号地址寻址。使用符号地址寻址,增强程序的可读性,地址的符号名分为共享和区域两种。

1.共享符号名

共享符号名可以在整个项目不同的程序块中使用,共享符号名需要在符号表中定义。在“SIMATIC Manager”界面中,点击PLC站→CPU→S7 Program,双击“Symbols”图标,进入符号表编辑界面,为每个绝对地址编辑所需的符号名,如图9-40所示。

978-7-111-28718-6-Chapter09-50.jpg

图9-40 编辑符号表

符号表的每一行中,在“Symbol”列中定义符号名称,在“Address”列中指定相应的绝对地址,在“Data type”列中自动显示绝对地址的数据类型。如在“Symbol”列和“Address”列中输入的地址与符号名相同,以红色高亮标出相同的行号。

在符号表中可以为下列对象定义符号名:

•I/O信号(I、IB、IW、ID、Q、QB、QW、QD)

外设输入与输出(PI、PQ)

•位存储器(M、MB、MW、MD)

•定时器(T)/计数器(C)

•逻辑块(FB、FC、SFB、SFC)

•数据块(DB)

•用户定义数据类型(UDT)

变量表(VAT)

在程序编辑界面中,使用菜单命令“View”→“Display with”→“Symbolic Representa-tion”可以切换符号地址与绝对地址的显示。(www.xing528.com)

在程序中访问数组、结构体、时钟等复合数据类型变量时,必须使用符号名寻址,这些数据必须在数据块(共享符号名)或区域数据区L中定义,例如在DB1(图9-40中定义的符号名为PRODATA)定义一个结构体类型变量,符号名“STRDATA”如图9-41所示。

978-7-111-28718-6-Chapter09-51.jpg

图9-41 复合数据类型的符号地址

只能使用符号名“PRODATA.STRDATA”或“DB1.STRDATA”表示数据块中的结构体(变量大于四个字节不能使用绝对地址寻址),变量的从属关系用符号“.”隔开,例如“PRODATA.STRDATA.VALVE”寻址结构体中的一个变量。

2.区域符号名

区域符号名只能在一个程序块中使用,可以在下列数据区中定义区域符号名:

•函数或函数块参数(输入、输出及输入/输出参数);

•函数块的静态数据;

•函数、函数块及OB的临时数据区。

使用区域符号名寻址与共享符号名寻址方式相同,例如在FC1中使用区域符号名的编程,示例如图9-42所示。

978-7-111-28718-6-Chapter09-52.jpg

图9-42 在程序块中使用区域符号名编程

使用区域符号名访问数组、结构体等复合数据类型与共享符号名的表示方式相同,变量的从属关系也是使用符号“.”隔开。

3.区分共享符号名与区域符号名

如果共享符号名与区域符号名相同,在程序块中不会产生地址冲突,共享符号名被“”符号括起来,区域符号名前自动添加“#”符号,这样可以区分两者之间的符号名。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈