Explore chapters and articles related to this topic
Event-Driven Programming
Published in Julio Sanchez, Maria P. Canton, Software Solutions for Engineers and Scientists, 2018
Julio Sanchez, Maria P. Canton
Dynamic link libraries are binary files that have functions which can be shared by several applications. In addition to sharing code between applications, DLLs can be used to break up an application into separate components that are more manageable and easier to upgrade. Dynamic linking has several advantages: Several processes can share the same code thus saving memory space and reducing access time.DLLs can be modified and upgraded independently of the applications that use them. Programs that use static libraries must be recompiled when the libraries are modified. This mechanism can be effectively used in providing after-sale support for a program.DLLs can be accessed from different programming languages or environments as long as the applications follows the calling conventions.
.NET, ActiveX, and COM
Published in Rick Bitter, Taqi Mohiuddin, Matt Nawrocki, LabVIEW™ Advanced Programming Techniques, 2017
Rick Bitter, Taqi Mohiuddin, Matt Nawrocki
In the COM world, the shared library (DLL) used by the application is registered in the Windows Registry. When another application is installed on the computer, there is a risk of overwriting the DLL that is being used with another version that does not support all the features that are needed. This is a common issue for COM programmers. .NET eliminates this issue by ensuring that the execuTable will use the DLL that it was created with. In .NET the DLL must be registered in the Global Assembly Cache (GAC). The GAC is a listing of public assemblies on your system. This is similar to the registry for COM objects. In the GAC the DLL must have unique hash value, public key, locale, and version. Once your DLL is registered in the GAC, its name is no longer an issue. You can have two different versions of the same DLL installed and running on the same system without causing problems. This is possible because the execuTable is bound to the specific version of the DLL. A .NET assembly stores all references and dependencies in a manifest. You can install, uninstall, and list assemblies in the GAC using the assembly registration utility (gacutil.exe).
Object-Oriented Comodeling Methodology for Development of Domain Specific DEVS Models
Published in Gabriel A. Wainer, Pieter J. Mosterman, Discrete-Event Modeling and Simulation, 2018
Dynamic linking means that the linker only records what libraries the executable needs and the index names or numbers, and the data in the library remains in a separate file on disk. The copying of code and data in the library into the memory space of the process is done when the application is loaded or during the execution of the process. This type of library is called a dynamically linked library. The term, Dynamic Link Library (DLL), specifically indicates dynamic libraries in Microsoft Windows environments.
Application of PSO-LSSVM and hybrid programming to fault diagnosis of refrigeration systems
Published in Science and Technology for the Built Environment, 2021
Zhengxiong Ren, Hua Han, Xiaoyu Cui, Hong Qing, Huiyun Ye
The basic idea of hybrid programming is shown in Figure 5. There are many ways for the communication between LabView and MATLAB such as dynamic linked library (DLL), dynamic data exchange (DDE), ActiveX automation, and MATLAB script node (Stopjaková et al. 2004). The faults data are first input or imported from the LabVIEW interface (front panel) by the user, transported through the LabVIEW with MATLAB interface (back panel or block diagram), and arrived at the MATLAB core, where it is analyzed and diagnosed based on certain FDD strategy. Then the prediction results are obtained, returned to the front panel through the back panel, and displayed for users’ reference. In other words, the idea of hybrid programming as proposed in this study is to call MATLAB through the external interface in LabVIEW for analysis and calculation, thus combining the advantages of both programs to establish an FDD platform for the fault diagnosis of refrigeration systems, so that the theoretical research on FDD technology can be implemented easily and conveniently in practical, both for researchers, professional and unprofessional personnel.
Analysis of time delays in scheduled and unscheduled communication used in process automation
Published in Automatika, 2020
S. M. A. K. Azad, K. Srinivasan
Saturation starts after 2000 ms of TTRT for NBM which is observed in Figure 6. In case of time available data service, a small change in TTRT effects more delay time for LHMM, HJMM and SM which is observed in Figure 7. When TTRT is around 500 ms, the delay time for LHMM, HJMM and SM reachs their maximum of 4400, 2000 and 4600 ms respectively whereas for NBM the maximum time delay is 6400 ms. It is also observed in the simulation model that the traffic load increases with the number of nodes in the network. But in practice, the number of nodes in the FF segment is designed in such a way that the increase in traffic load is negligible as the data transmission on the network is allowed only between one node to LAS or node to node at a time. No other node is allowed to publish the data on the network during the data transmission in DLL of FF. In general, TTRT is fixed for an FF segment accommodating a minimum of 2 devices to a maximum of 32 devices. The configuration of devices is improved with the optimal allocation of the delays which is achieved with the analysis of based model analysis.
Developing a framework for promoting physical activity in a Boccia game scenario
Published in Computer Methods in Biomechanics and Biomedical Engineering: Imaging & Visualization, 2019
Vinícius Silva, João Ramos, Pedro Leite, Filomena Soares, Paulo Novais, Pedro Arezes, Filipe Sousa, Carina Figueira, António Santos
The software architecture is based on a three-tier framework that organises modules (games) into dynamic categories, acting as a launcher and providing them a set of APIs for common functionalities such as sensor communication, user profile and game session management. The proposed system architecture allows the modules to be agnostic on which sensors are currently supported and being used, as well as which back-end server may be used to manage user profiles and store game session data. The API (Matos et al. 2014) for sensor communication provided by the framework is implemented as shared library/DLL in pure native code (C++) and supports most of the existing platforms: Windows, Linux and Android. The library is responsible for all communication details with any sensor. The received data from sensors is processed and merged into a single protocol and send to any client (game) that asked for it and provided a callback. The protocol considers data from inertial sensors, gestures, body tracking, among others.