Przedstawiono koncepcję, model semantyczny oraz prototypową implementację dwurdzeniowego sterownika programowalnego. Koncepcja budowy sterownika obejmuje równoległe przetwarzanie dwóch programów wykonawczych za pośrednictwem maszyny wirtualnej, wykorzystując wspólny obszar pamięci zmiennych globalnych. Zaprezentowany model przedstawia formalny opis wykonywania przenaszalnych programów binarnych powstałych na podstawie języków normy IEC 61131-3 w środowisku programistycznym CPDev. Przedstawiona architektura opisuje działanie maszyny wirtualnej za pomocą abstrakcyjnych obiektów algebraicznych. Rozwiązanie zaimplementowane zostało w języku C/C++ na dwurdzeniowej platformie mikrokontrolerowej.
EN
The concept, semantic model, and prototype implementation of a dual-core programmable controller have been presented. The controller’s design concept involves parallel processing of two execution programs through a virtual machine, utilizing a shared memory area for global variables. The presented model provides a formal description of the execution of portable binary programs created based on the languages of the IEC 61131-3 standard in the CPDev programming environment. The architecture described outlines the operation of the virtual machine using abstract algebraic objects. The solution has been implemented in C/C++ on a dual-core microcontroller platform.
Design and operation of a compiler and virtual machine, being the essential components of a multiplatform control programming environment, are presented. The compiler translates source programs written in Structured Text language of the IEC 61131-3 standard into executable code in a dedicated intermediate language. The virtual machine, i.e. a specially designed processor implemented in software, is a runtime part of the environment executing the code in real time. Due to memory-to-memory operation principle the machine is able to process various data types defined in the standard. The focus is given on overloading and extensibility of the functions, as well as on uniform invocations of Program Organization Units. By selection of addressing mode, the environment can be deployed on multiple hardware platforms, beginning from 8-bit microcontrollers up to 32/64-bit industrial PCs. Industrial applications are indicated.
W artykule przedstawiono badania wydajności wykonywania przez mikrokontrolery STM32 kodu dla maszyny wirtualnej (tzw. kodu pośredniego) dedykowanej dla systemów sterowania. Architektura ARM zastosowana w tych układach odznacza się ograniczeniami związanymi z dostępem do niewyrównanych adresów. Zaproponowano trzy sposoby wyeliminowania tych ograniczeń, a każdy z nich poddano zestawowi testów mających ustalić ich wydajność. Testy przeprowadzono dla dwóch trybów działania, tj. z 16- i 32-bitowym adresowaniem dla różnych generacji układów. Wyniki testów pozwalają dobrać właściwe rozwiązanie dla określonej platformy.
EN
The article presents performance tests of code executed by STM32 microcontrollers using a virtual machine (so-called intermediate code) dedicated to control systems. The ARM architecture used in these chips has limitations related to access to non-aligned addresses. Three ways to overcome these limitations have been proposed, and each has been subjected to a suite of tests to determine their performance. Tests were conducted for two operating modes, i.e. with 16- and 32-bit addressing for different generations of chips. The test results allow to choose the right solution for a specific platform.
Kolaboracyjne roboty przemysłowe wychodzą naprzeciw nowoczesnemu podejściu do robotyzacji. Umożliwiają one współpracę z człowiekiem znajdującym się w obszarze pracy robota. W ramach artykułu wykonano projekt oraz oprogramowanie modelu stacji zrobotyzowanej możliwiającej realizację współpracy człowiek-maszyna. Opracowano modele CAD stanowiska za pomocą oprogramowania Autodesk Inventor. Projekt stacji wykonano w środowisku RobotStudio z wykorzystaniem robota IRB 14000 YuMi. Oprogramowanie oparto na smart componentach oraz kodzie języka Rapid. Wykonano graficzny interfejs użytkownika, interaktywny z człowiekiem w wirtualnej rzeczywistości. Weryfikację oprogramowania przeprowadzono z udziałem operatora w wirtualnej rzeczywistości.
EN
Collaborative industrial robots meet the modern approach to robotization. They enable cooperation with a human being in the robot’s work area. As part of the article, it was decided to design and build a robotic station enabling the implementation of human-machine cooperation. CAD models of the station were created using the Autodesk Inventor software. The station design was made in the RobotStudio environment with the use of the IRB 14000 YuMi robot. The software is based on smart components and Rapid language code. A graphical user interface was created, interactive with a human in virtual reality. The software was verified with the participation of the operator in virtual reality.
Norma IEC 61131-3 definiuje pięć języków programowania sterowników przemysłowych. Norma ta jest powszechnie stosowana, wiele środowisk inżynierskich jest z nią całkowicie, bądź częściowo zgodnych. W literaturze opisano kilka akademickich rozwiązań, jednak zazwyczaj implementują one jedynie wybrane elementy normy (np. tylko jeden lub dwa języki). Komercyjne środowiska inżynierskie zwykle obsługują wszystkie języki, ale ich dokumentacja skupia się na korzystaniu ze środowiska, natomiast rzadko ujawniane są szczegóły dotyczące wewnętrznej architektury i implementacji. W artykule przedstawiono takie rozwiązania dla pakietu inżynierskiego CPDev. Architektura bazująca na maszynie wirtualnej sprawia, że środowisko jest przenośne, co ułatwia wdrożenie na różnych platformach sprzętowych. W artykule przedstawiono kilka wdrożeń przemysłowych środowiska CPDev.
EN
The IEC 61131-3 standard defines five languages, dedicated for programming industrial controllers. The standard is commonly used, there are numerous engineering environments fully or partially compatible with it. Several academic solutions have been described in the literature, but they typically implement only selected parts of the IEC 61131-3 standard (e.g. only one or two languages). On the other hand, commercial engineering environments usually implement all languages, but their documentation focuses on the application of the environment, whereas details about internal architecture and implementation are rarely disclosed. The paper describes such internal details of the CPDev engineering environment. The architecture based on the virtual machine makes the environment portable, thus facilitate implementation on diverse hardware platforms. Several industrial implementations of CPDev are also mentioned.
W artykule opisano edytory graficzne języków LD i FBD wykorzystywane w autorskim środowisku inżynierskim CPDev. Schematy stworzone za pomocą tych edytorów są wstępnie konwertowane do kodu źródłowego w ST, a następnie tłumaczone do autorskiego kodu pośredniego. Unikalną cechą edytorów jest mechanizm automatycznego wyznaczania połączeń między elementami schematu, wykorzystujący algorytm A*. Poszczególne elementy schematu nie mają sztywno określonego położenia w polu roboczym, co wpływa na przejrzystość schematu. W trybie śledzenia on-line, bezpośrednio na schemacie graficznym wyświetlane są wartości wyjść poszczególnych elementów. W tym celu schemat graficzny jest konwertowany do postaci grafu AOV, a następnie upraszczany i bezpośrednio z niego generowany jest kod źródłowy w języku ST. Opracowane edytory graficzne umożliwiają tworzenie zarówno prostych jak i złożonych programów sterowania, jak również zapewniają łatwą edycję, klonowanie fragmentów schematu, zapis, odczyt oraz drukowanie stworzonego diagramu.
EN
The article describes graphic editors of LD and FBD languages used in the CPDev proprietary engineering community. The diagrams created with the help of these editors are pre-converted to source code in ST, and then translated into the author’s intermediate code. A unique feature of these editors is the mechanism of automatically determining connections between diagram elements using the A* algorithm. Individual elements of the diagram do not have a rigid position in the working field (e.g. LD ladder), which significantly affects the transparency of the diagram. In on-line tracking mode, the output values of its individual elements are displayed directly on the graphic scheme. To ensure this, the graphic schema is first converted to an AOV graph, and then simplified and the ST source code is directly generated from it. Developed graphic editors allow creating both simple and complex control programs, as well as ensure easy editing, cloning of fragments of the scheme, saving, loading and printing of the created diagram.
W tym artykule omówiono kwestię porównania technologii Java i Kotlin w oparciu o szkielet aplikacji internetowych. Kryteria brane pod uwagę dla celów testowych to: czas wykonania, wykorzystanie pamięci, obciążenie procesora, liczba odpowiedzi z bazy danych w zadanym czasie. Przeprowadzana jest seria testów i ich dogłębna analiza porównawcza. Przeprowadzono testy i analizę kodu. Wydajność pod względem szkieletów aplikacji internetowych, szybkości odpowiedzi bazy danych i szybkości działania testów - we wszystkich Kotlin okazał się mniej wydajny. Nie ma znaczącej różnicy dla obciążenia procesora. Pomiędzy poszczególnymi pomiarami, różnica nie przekracza 2%. Implementacja w języku Kotlin nigdy nie osiągnęła najlepszego wyniku w żadnej grupie pomiarów.
EN
This paper discusses the issue of comparing Java and Kotlin technologies based on the web application framework. The criteria taken into account for testing purposes are: execution time, memory usage, CPU load, database response in set time. A series of tests and their in-depth comparative analysis are carried out. For this case, tests and code analysis were carried out to draw comparative conclusions. The performance in terms of web frameworks, database response speed and tests implementation in different languages - in all these Kotlin proved to be less efficient. There is no significant difference between CPU load between individual easurements, the difference does not exceed 2%. Implementation in the Kotlin language has never achieved the best result in any group of measurements.
Artykuł obejmuje współczesne podejście do procesu sprzedaży w przedsiębiorstwach. W chwili obecnej na wielu rynkach (także na rynku polskim) funkcjonuje tradycyjne podejście do sprzedaży, związane z indywidualnym i całościowym podejściem przez sprzedawców do swoich klientów. W wielu przypadkach najważniejszym elementem ich strategii jest produkcja, a nie sprzedaż. Przedsiębiorstwa maksymalnie dużo czasu i zasobów poświęcają na optymalizację produkcji, w tym np. obniżki kosztów, zapominając o znaczeniu procesu sprzedaży swoich produktów i usług. W artykule przedstawiono bardzo nowoczesną koncepcję sprzedaży o dużym potencjale rozwoju, opartą na strukturalizowaniu procesu sprzedaży w przedsiębiorstwie. Podstawą tej koncepcji jest mapowanie procesu sprzedaży na podprocesy według czterech zasad, a mianowicie: centralnego planowania pracy, standaryzowania przepływów pracy, specjalizowania zasobów oraz formalizację zarządzania. Koncepcja ta na rynku amerykańskim nazywana jest „maszyną” sprzedażową.
EN
The article covers a contemporary approach to the sales process in enterprises. At present, in many markets (also on the Polish market), there is a traditional approach to sales, namely the individual and comprehensive approach by the sellers to their clients. In many cases enterprises operating on the Polish market, production is the most important element of their strategy, not sales. Enterprises spend as much time and resources as possible to optimize their production, including, for example, cost reductions, forgetting the importance of selling their products and services. The article presents a very modern sales concept with a large growth potential, based on structuring the sales process in an enterprise. The basis of this concept is to map the sales process to subprocesses according to four principles, namely: central work planning, standardizing workflows, specializing resources and formalizing management. This concept on the American market is called a “machine” sale.
W artykule przedstawiono wybrane zagadnienia związane z modelowaniem obiektów maszyn do rozbioru mięsa: przecinarki tarczowej i taśmowej oraz skórowaczki, a także zamodelowanych elementów wirtualnego środowiska, jakie powstało na potrzeby wizualizacji zagrożeń mechanicznych podczas obsługi maszyn do mięsa. Wizualizacje te będą uzupełnieniem materiałów szkoleniowych z zakresu BHP dla pracowników, pracodawców oraz służb BHP zakładów mięsnych.
EN
The paper presents selected issues related from objects modeling machines for meat industry – Band Saw Machines, Circular Machines and Skinning Machines. This paper presents also selected issues related from modeling of virtual reality elements for the purpose made visualizations of mechanical hazard during use this machines. This visualizations was made from educational packet which is supplementary material in the area of occupational safety and health from employees, employers or OSH instructors in the meat industry.
W językach z automatycznym zarządzaniem pamięcią ważną rolę pełni odśmiecacz pamięci - mechanizm odpowiedzialny za usuwanie nieużywanych obiektów z pamięci. Algorytmy odzyskiwania pamięci są rozwijane od wielu lat i dążą do zmaksymalizowania wydajności aplikacji. W niniejszym artykule przedstawiono i porównano wydajność pięciu algorytmów automatycznego zwalniania pamięci występujących w Javie w wersji 12 na trzech aplikacjach o różnym czasie życia obiektów. Analizie została poddana szybkość aplikacji, narzut pracy odzyskiwaczy pamięci oraz przepustowość aplikacji przy dużym obciążeniu.
EN
In programming languages with automatic memory management garbage collection plays an important role of cleaning unused memory. Garbage collection algorithms have been developed for many years and aim to maximize the application’s performance. This paper presents and compares a performance of five garbage collection algorithms present in current version of Java 12 in three applications with different object lifetime span. The analysis covered the system responsiveness, garbage collector workload and application throughput at high application load.
Oszacowanie wydajności optymalizacji przy wykorzystaniu liniowej reprezentacji pośredniej kodu Streszczenie. W niniejszej pracy omówiono i porównano dwie reprezentacje pośrednie kodu. Szczególny nacisk położono na liniową reprezentację pośrednią w kontekście maszyny wirtualnej Mono. Przedstawiono wybrane metody optymalizacji kodu i pokazano wpływ poszczególnych reprezentacji pośrednich na kwestie wydajności wykonania i rozmiaru kodu.
EN
The two intermediate representations are discussed and broadly compared. Particular emphasis has been placed on linear intermediate representation using Mono Virtual Machine. Selected code optimization methods are presented and the impact of several intermediate representations is examined considering execution performance and generated native code size.
12
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Artykuł opisuje koncepcję technologii wirtualizacji, które mogą posłużyć do stworzenia nowej generacji Inteligentnych Urządzeń Elektronicznych (IED). Przegląd koncepcji został oparty o rozwiązania informatyczne stosowane w konwencjonalnych systemach informatycznych. Poddano analizie rozwiązania platform witalizacyjnych firm VMware oraz Microsoft pod kierunkiem wykorzystania w urządzeniach IED.
EN
The article describes the concept of virtualization technology, which can be used to create a new generation of Intelligent Electronic Devices (IEDs). The presented overview of the concept was based on well-known virtualization concepts used in conventional systems. The VMware and Microsoft platforms are analyzed under their potential application for IEDs virtualization.
13
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W pracy przedstawiono metodykę przygotowania i konfiguracji wirtualnej maszyny oraz zaprezentowano sposób przeprowadzenia symulacji (w oparciu o wcześniej wygenerowany kod NC) pod względem kolizyjności.
EN
The work presents methodology of preparing and configuration of virtual machine as well as conducting a simulation based on generated NC code in terms of collision.
14
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Prezentowany system służy do oceny dokładności pomiarów, zanim zostaną one wykonane w rzeczywistym systemie pomiarowym. Głównym elementem systemu jest wirtualny model maszyny pomiarowej, umożliwiający wielokrotne przeprowadzanie symulacji pomiaru, a następnie – na podstawie jej wyników – ocenę dokładności symulowanego pomiaru.
EN
The system presented in the article is designed to assess the accuracy of the measurements before they are implemented on a real measurement system. The main component of the system is a virtual model of measuring machine. It allows to estimate the measurement uncertainty due to multiple simulation of measuring task.
W niniejszej pracy zaprezentowano możliwości wykorzystania oprogramowania opartego na modelu przetwarzania w chmurze, w charakterze skalowalnego serwera aplikacji internetowej. Omówiono techniczne aspekty możliwości wykorzystania systemu EUCALYPTUS jako serwera aplikacji internetowej. Przedstawione zostały wyniki testów wydajnościowych przykładowego systemu, zarówno w kontekście wykorzystania różnej liczby i konfiguracji zasobów obliczeniowych, jak i możliwości wykorzystania oprogramowania do równoważenia obciążenia Apache mod_proxy_balancer.
EN
This paper presents the possibilities of using software based on the model of cloud computing as a scalable web application server. In this paper a performance issue for scalable Cloud Computing based systems was analyzed in the context of load balancing between the different configurations of resources. An application of the EUCALYPTUS system as well as the results of the performance tests, both for the case of the use of virtual machines with different number of resources and the use of Apache mod_proxy_balancer software were presented.
Niniejszy artykuł jest poświęcony emulatorowi sieci komputerowych Netkit. Jest to oprogramowanie narzędziowe o względnie niewielkich, w stosunku do swoich możliwości, wymaganiach sprzętowych. W środowisku Netkit każde urządzenie (stacja, ruter) emulowane jest w środowisku maszyny wirtualnej. Urządzenia podłączane są poprzez własne interfejsy do domeny kolizyjnej, będącej rodzajem sieci wirtualnej o topologii magistrali. W artykule przedstawiono dwa tryby zarządzania eksperymentem Netkit - indywidualny (tryb maszyny wirtualnej) i zbiorczy (tryb laboratorium). Przybliżono Czytelnikowi sposób tworzenia eksperymentu w każdym z tych trybów, omówiono ich wady i zalety. W artykule przeanalizowano możliwości zastosowania emulatora zarówno do badań naukowych, jak i dydaktyki z zakresu systemów operacyjnych, sieci komputerowych, serwisów internetowych.
EN
This article is dedicated to the NetKit - the emulator of computer networks. It is a software tool with a relatively small (relative to its capabilities) hardware requirements. In the NetKit environment each device (station, router) is emulated in a virtual machine environment. Devices are connected via their interfaces to the collision domain, which is a kind of virtual bus network. The article presents two modes of management of the NetKit experiment - individual (virtual machine mode) and collective (laboratory mode). The article brought closer to the reader how to create the experiment in each of management modes, discusses advantages and disadvantages of these modes. The article examines the possibility of using the emulator to both research and teaching in the field of operating systems, computer networks and internet services.
17
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
A short review of cloud computing and virtualization mechanisms is given. The benefits and risks of virtualization are presented. The differences between the grid and distributed computing are discussed. The role of the virtual machine manager is described.
PL
Zaprezentowano zwarty przegląd obliczeń w chmurze i mechanizmów wirtualizacji. Przedstawiono zalety i ryzyka wynikające z procesu wirtualizacji. Przedyskutowano różnice pomiędzy obliczeniami gridowymi i rozproszonymi. Opisano rolę, jaką odgrywa zarządca maszyny wirtualnej.
Neurostymulator jest umieszczanym w organizmie pacjenta urządzeniem elektronicznym, które generuje impulsy elektryczne oddziałujące na układ nerwowy bądź mięśniowy. W celu zapewnienia maksymalnej elastyczności, urządzenie oparte jest o programowalny mikroprocesor. Artykuł przedstawia zastosowanie koncepcji maszyny wirtualnej do zrealizowania oprogramowania urządzenia. Rozwiązanie takie umożliwia wymianę oprogramowania urządzenia przy pomocy bezprzewodowego interfejsu komunikacyjnego, bez konieczności usuwania urządzenia z organizmu. Jednocześnie, zastosowanie maszyny wirtualnej umożliwia zapewnienie wysokiej niezawodności oprogramowania, gdyż błąd w programie maszyny wirtualnej nie powoduje zablokowania całego urządzenia. Dodatkową zaletę stanowi uniezależnienie oprogramowania definiującego funkcjonalność urządzenia od zastosowanej platformy sprzętowej.
EN
A neurostimulator is an implantable medical device, which generates electrical signals, interacting with patient's neural system or muscles. In order to achieve maximum flexibility of the device, it is based on a programmable microprocessor. This paper presents an implementation of a neurostimulator software using a virtual machine. This allows for device software to be modified remotely, using a wireless data link, without the need to remove device from the body. At the same time, use of virtual machine allows to achieve high reliability of the software, because a fault in virtual machine software does not affect rest of the system. An additional benefit is that the software defining device functionality is independent of the underlying hardware platform.
W pracy omówiono wykorzystanie najnowszych technologii informatycznych do budowy i zarządzania środowiskiem informatycznym umożliwiającym budowę sieci laboratoriów wirtualnej organizacji działań w odległych miejscach geograficznych. Tworzenie infrastruktury laboratoriów WOD wymaga powiązania technologii sprzętowych i oprogramowania do budowy i zarządzania środowiskiem informatycznej z szeregiem usług sieciowych umożliwiających realizację indywidualnego i pełnego dostępu do zróżnicowanego środowiska systemów operacyjnych i serwerów oraz aplikacji użytkowych. Koncepcja jednolitego sieciowego dostępu do infrastruktury informatycznej zakłada, że użytkownicy korzystają z wirtualnego środowiska systemów operacyjnych i sieci komputerowych zarówno podczas pracy prowadzonej w laboratoriach na uczelni oraz przy własnej samodzielnej pracy poza siecią uczelni. Tworzone jest dostosowane do aktualnych potrzeb środowisko, które korzysta z sprzętowego wsparcia serwerów kasetowych (blade) stanowiących skalowalną o wysokiej niezawodności bazę sprzętową umożliwiającą utrzymanie środowiska wirtualizacji. Specyfika gridowego systemu dostępu do maszyn wirtualnych wymaga pewności działania oferowanych usług od strony zarówno działania aplikacji sieciowych jak i spójności i nadmiarowości gromadnych danych w postaci replik i niskopoziomowych rozwiązań redundancji danych
EN
The work discusses the use of the latest technology in the construction and management of environmental information for the construction of a network of laboratories of virtual organization of activities in distant geographical locations. Building of infrastructure VOA laboratories requires binding of hardware and software technologies to the construction and management of environmental information from a number of network services that enable the implementation of the individual and full access to the diverse environment of operating systems, servers, and application performance. The concept of a single network access to the information infrastructure is that the users use the virtual environment of operating systems and computer networks, both during the work carried out in laboratories on campus and in their own independent work outside the University network. Then, created is adapted to the current needs of the environment, which uses hardware support Blade (blade) which are scalable, high-reliability hardware base to maintain the environment of virtualization. Specific of grid system access to a virtual machine requires certain activities offered the services of both Web applications and the consistency and redundancy of data collection in the form of replicas and low-level data redundancy solutions.
20
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W artykule przedstawiono zagadnienia związane z wirtualizacją oraz oprogramowanie służące do wirtualizacji systemów operacyjnych oraz praktyczne zastosowanie wirtualnej maszyny na zajęciach z przedmiotów dotyczących administrowania serwerami.
EN
This article presents issues related to virtualization and virtualization software for operating systems and practical application of virtual machines in the class of objects relating to the administration of servers.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.