共查询到19条相似文献,搜索用时 265 毫秒
1.
2.
3.
为了在电磁兼容测试时远程控制汽车的驾驶状态,研制了一套自动化汽车驾驶系统.驾驶系统中的电控单元基于PLC进行设计,并使用Step7对电控单元进行硬件组态和程序设计.PLC程序的核心功能是如何接收来自PC的指令,并转换成符合要求的控制电压信号,以此控制气动执行机构动作.介绍了VB.net环境下的上位机程序的设计与编译.PLC电控单元通过接收上位机的指令对气动控制器发送控制信号,从而实现对汽车驾驶状态的控制.系统完成后可手动或自动控制汽车的行驶状态,运行效果良好. 相似文献
4.
在研究PLC程序编译执行过程和新指令特点的基础上,基于ARM-FPGA的PLC主机结构,提出一种新型PLC指令的编译方法。静态编译将指令的操作数转换为PLC软元件的直接地址,建立转移类指令的转移地址链表,编译成为新的PLC程序代码序列;动态编译在PLC程序执行过程中将新程序指令中操作数的直接地址转换为立即数,由FPGA模块执行。通过对PLC用户源程序的编译与执行,表明该方法能够充分应用FPGA高速并行处理的功能,提高了PLC程序执行的速度。 相似文献
5.
传统PLC源程序的编译方法,虽然执行速度快,占用资源少,但可移植性差不够灵活;传统PLC源程序的解释方法虽然灵活性好,但执行速度慢且占用存储空间大。为了兼顾存储空间、执行速度和可移植性,给出了一种PLC源程序的编码方法,减少了存储空间,简化了解释执行算法,并在表达式求值算法和传统PLC解释执行算法的基础之上,充分利用逻辑运算的性质,提出了改进的PLC解释执行算法,大大减少了逻辑运算的步数,提高了PLC系统运行的速度。 相似文献
6.
7.
付作新 《计算机研究与发展》1977,(3)
111机的某机解释系统(以下记称为 JS),是用于在111机上解释执行某机的机器指令,提供在111机上调试某机机器指令程序(记作 PM)的手段。一、功能JS 具有如下功能。1.指令部分1)对某机的运算型指令,均各按其操作功能予以解释执行。2)对某机的控制型指令。1°.600~630、634~636、670~756、772等操作,按其操作功能予以解释执行。 相似文献
8.
介绍了在水电站机组监控系统中,如何利用VB来实现上位机与三菱FX系列PLC的通信,上位机与三菱FX系列PLC之间采用计算机链接通信方式.并介绍了水电站机组监控系统的通信方式、通信规约以及所采取的提高通信可靠性的措施.经水电站实际运行证明,该通信方式运行稳定、可靠. 相似文献
9.
10.
11.
李可成 《计算机测量与控制》2023,31(8):110-115
为了确保PC端主机所生成指令程序满足PLC控制原则,使PLC编程器的逻辑编译能力得到保障,提高指令编码准确性,设计基于嵌入式软PLC分布式控制系统。根据软PLC定义标准,确定系统结构的组成形式,再通过分析工作执行机制的方式,完成对嵌入式软PLC系统的技术基础研究。在分布式体系中,同时开发I/O驱动程序与PLC执行程序,并联合下级PLC编程器设备,确定CODESYS工程组件的实时运行状态,完成分布式控制系统的I/O组件设计。按照实时内核的进入与退出模式,定义分时映像区取值范围,借助数据库主机中存储的控制指令执行程序,求解指令逻辑栈表达式,实现对软PLC驱动模式的规范,完成基于嵌入式软PLC分布式控制系统设计。实验结果表明,本次实验所选10条指令程序的PC端输出结果均满足PLC控制原则,在保障PLC编程器逻辑编译能力方面具有突出作用价值,且能够有效提高指令编码准确性。 相似文献
12.
13.
The execution model for mobile, dynamically‐linked, object‐oriented programs has evolved from fast interpretation to a mix of interpreted and dynamically compiled execution. The primary motivation for dynamic compilation is that compiled code executes significantly faster than interpreted code. However, dynamic compilation, which is performed while the application is running, introduces execution delay. In this paper we present two dynamic compilation techniques that enable high performance execution while reducing the effect of this compilation overhead. These techniques can be classified as (1) decreasing the amount of compilation performed, and (2) overlapping compilation with execution. We first present and evaluate lazy compilation, an approach used in most dynamic compilation systems in which individual methods are compiled on‐demand upon their first invocation. This is in contrast to eager compilation, in which all methods in a class are compiled when a new class is loaded. In this work, we describe our experience with eager compilation, as well as the implementation and transition to lazy compilation. We empirically detail the effectiveness of this decision. Our experimental results using the SpecJVM Java benchmarks and the Jalapeño JVM show that, compared to eager compilation, lazy compilation results in 57% fewer methods being compiled and reductions in total time of 14 to 26%. Total time in this context is compilation plus execution time. Next, we present profile‐driven, background compilation, a technique that augments lazy compilation by using idle cycles in multiprocessor systems to overlap compilation with application execution. With this approach, compilation occurs on a thread separate from that of application threads so as to reduce intermittent, and possibly substantial, delay in execution. Profile information is used to prioritize methods as candidates for background compilation. Methods are compiled according to this priority scheme so that performance‐critical methods are invoked using optimized code as soon as possible. Our results indicate that background compilation can achieve the performance of off‐line compiled applications and masks almost all compilation overhead. We show significant reductions in total time of 14 to 71% over lazy compilation. Copyright © 2001 John Wiley & Sons, Ltd. 相似文献
14.
传统的PLC系统由于自身系统结构和处理器性能等问题,在执行工业控制的过程中往往在执行了一定时间后系统就会发生惯性停机,影响工业生产.提出了基于ARM+FPGA高性能双处理器的嵌入式安全PLC结构模型,可以大幅降低系统失效的概率,提高工业控制可靠性.本系统分为硬件结构和软件系统两大部分.硬件部分采用了1oo2D双通道异构冗余安全体系结构,两条通道配备有安全电路,两个处理器之间设计有安全诊断电路,通过交叉检测判断系统运行是否正常.软件部分主要包括编译系统和执行系统,编译系统将编写的PLC程序转换成机器可执行的代码也叫做目标代码,再由执行系统进行目标代码的执行. 相似文献
15.
This paper describes MATISSE, a compiler able to translate a MATLAB subset to C targeting embedded systems. MATISSE uses LARA, an aspect‐oriented programming language, to specify additional information and transformations to the input MATLAB code, for example, insertion of code for initialization of variables, and specification of types and shapes of variables. The compiler is being developed bearing in mind flexibility, multitarget and multitoolchain support, allowing for the generation of several implementations in C from the same reference code in MATLAB. In this paper, we also present a number of techniques being employed in MATLAB to C compilation, such as element‐wise mapping operations, matrix views, weak types, and intrinsics. We validate these techniques using MATISSE and a set of representative benchmarks. More specifically, we evaluate the compiler with a set of 31 benchmarks using an embedded system board and a desktop computer. The results show speedups up to 1.8× by employing information provided by LARA aspects, when compared with C code generated without additional user information. When compared with the execution time of the original code running on MATLAB, the execution time of the generated C code achieved a geometric mean speedup of 13×. Copyright © 2016 John Wiley & Sons, Ltd. 相似文献
16.
一个基于混合并发模型的Java虚拟机 总被引:3,自引:0,他引:3
从解释执行到及时编译的转变极大地提高了Java程序的运行速度.但是,现有的Java虚拟机还有待进一步的改进.提出了一种新的Java虚拟机编译与执行模型--混合并发模型HCCEM(hybrid concurrent compilation and execution model).该模型通过多线程控制方式将字节码的编译与执行过程相重叠,从而获取加速的效果.另外还给出了基于HCCEM的Java虚拟机JAFFE的设计方案,并就实现中的执行模式切换、异常处理以及层次线程等问题进行了讨论.实验结果表明,HCCEM能 相似文献
17.
18.
Joisha Pramod G. Midkiff Samuel P. Serrano Mauricio J. Gupta Manish 《International journal of parallel programming》2002,30(4):257-289
This paper presents a compilation framework that allows executable code to be shared across different Java Virtual Machine (JVM) instances. Current compliant JVMs for servers are burdened with large memory footprints (because of the size of the increasingly complicated compilers) and high startup costs, while compliant JVMs for embedded devices typically rely on interpretation. This paper describes a quasi-static approach that allows execution of a read-only version of the code, enabling compiled Java binaries to be embedded in ROM in an embedded environment or shared across multiple applications in a server environment. We have implemented this approach in the Quicksilver quasi-static compiler for the Jikes RVM (Jikes Research Virtual Machine). On the SPECjvm98 benchmark suite, our approach gives writable memory space savings of between 82–89% over that of our previous (non-sharable, non-ROMable) quasi-static approach, while delivering performance that is typically within 1–7% of that approach, and is competitive with the performance of the Jikes RVM adaptive optimization system. 相似文献
19.
Register allocation is a major step for all compilers. Various register allocation algorithms have been developed over the decades. This work describes a new class of rapid register allocation algorithms and presents experimental data on their behavior. Our research encourages the avoidance of graphing and graph-coloring based on the fact that precise graph-coloring is nondeterministic polynomial time-complete (NP-complete), which is not suitable for real-time tasks. In addition, practical graph-coloring algorithms tend to use polynomial-time heuristics. In dynamic compilation environments, their super linear complexity makes them unsuitable for register allocation and code generation. Existing tools for code generation and register allocation do not completely fulfill the require- ments of fast compilation. Existing approaches either do not allow for the optimization of register allocation to be achieved compre- hensively with a sufficient degree of performance or they require an unjustifiable amount of time and/or resources. Therefore, we pro- pose a new class of register allocation and code generation algorithms that can be performed in linear time. These algorithms are based on the mathematical foundations of abstract interpretation and the computation of the level of abstraction. They have been implemen- ted in a specialized library for just-in-time compilation. The specialization of this library involves the execution of common intermedi- ate language (CIL) and low level virtual machine (LLVM) with a focus on embedded systems. 相似文献