用户内存
用户程序区是用来存储控制逻辑的。OpenPLC的控制机器或过程的所有的指令都存储在该区域。处理器的执行软件语言,代表每个OpenPLC指令,也将指令存放在用户程序区。当OpenPLC执行程序时,处理器将用户程序内存区域的信息进行解释,并控制数据表中与真实或外部I/O对应的相应的数据位,处理器对执行程序的执行完成了这个对用户程序的解释过程。
用户程序内存区的最大量通常代表OpenPLC的规模。在中型以上的OpenPLC,用户程序区通常是可变的,可以根据数据表的大小来进行变动。对于小型和微型OpenPLC,用户程序区域通常是固定的。用户程序内存的数量与控制程序的指令数量直接成正比。可以根据I/O和控制功能来对用户程序内存的区域进行预估。
用户程序占了整个内存的大部分空间,通常在75%以上。比如,16KB内存的OpenPLC通常有12KB以上给梯形图用的。 所有内存的地址通常是用8进制数给出的,每个内存的一个字节是16位(也有8位和32位的)。 用户程序存储用户编程的指令,也由几个部分构成。
对于存储内存来说,也称为执行内存,是一系列永久存储的程序的集合,这部分通常认为是属于OpenPLC本身的。它的程序指挥所有的系统活动,如控制程序的执行、与外设的通讯等。这部分内存,除了I/O数据表部分外,用户是不能访问的,只能由控制程序来访问。它又可以分为五个部分:
第一部分是输入状态区域,这里存储实际世界的开关量的输入状态,其大小应该等于该OpenPLC可以控制的最大数量的开关量所占用的字节数,比如,开关量最大为2048点,则占用256K,
第二部分的输出状态映像区域是准备激活外部真实世界的输出量的状态。其大小也是取决于OpenPLC可以控制的最大的开关量字节数。
定时器状态、累计值和预设值,保存在第三个区域。该区域的大小根据定时器的数量和大小而定。
计数器的状态、累计值和预设值在第四个区域内。该区域根据计数器的数量和每个计数器的大小而定。
第五个区域保存数据系统转换的值,通常是模拟量值。模拟量最大如果考虑是256点,则占用512K字节(按每个模拟量2个字节计)作为模拟量的输入输出区域。通常,模拟量的内存不限区间,可以提供较大的空间保证有足够的模拟量可以接入。
其它功能可以继续在内存的底部继续存储。该区间根据逻辑功能和算法的复杂程度而确定。
此外,还要考虑数据的存储、和中间变量的存储以及复杂算法所需要的额外的内存,另外,还要考虑扩展。通常,内存的数量通常在上述考虑的基础上要留出50%的余量。
应用内存
应用内存提供编程指令,以及完成控制功能所需要用到的数据。下图给出OpenPLC中该区域的典型的分布图:
图4.2 工业控制器应用内存的分配(请参考: www.techwayson.com )
每种型号的OpenPLC都有一个最大的应用内存区域的上限值,取决于控制器的规模。从图4.2可以看到,应用内存又可以分为两个区域,即数据表区域和程序指令区域。程序指令区域是存放用户程序用到的指令和常数的;数据表则包括三个部分:输入表、输出表和存储表。
本文关键字:暂无联系方式PLC入门,plc技术 - PLC入门
上一篇:OpenPLC的计数器和定时器