CODESYS Installation and Start
CODESYS Installation and Start
CODESYS Installation and Start
tech_doc_e.doc / V1.2
Page 1 of 19
CONTENT 1 2 3 4 5 6 7 WELCOME SYSTEM REQUIREMENTS INSTALLATION RECOMMENDATIONS CONCERNING DATA SECURITY START HELP CREATE AND RUN A PROJECT
7.1 7.2 7.3 7.4 7.5 Start CODESYS and create a project Write a PLC program Define the Resource objects for running and controlling the program on the PLC Run and watch the application on the PLC Debug an application
3 3 3 3 4 4 5
5 7 10 13 17
18 19
CHANGE HISTORY
tech_doc_e.doc / V1.2
Page 2 of 19
Welcome
Welcome to the CODESYS V3 Development System by 3S - Smart Software Solutions GmbH ! CODESYS is a device-independent PLC-programming system. Matching the IEC 61131-3 standard it supports all standard programming languages but also allows including C-routines and supports object orientated programming. In combination with the CODESYS Control Win V3 runtime system it allows multi-device and multi-application programming. The component-based structure makes possible a customer-specific configuration and extension of the user interface. Before you are going to install regard the following on system requirements, installation and how to get further information.
System Requirements
Required: Operating systems: Windows 2000 (Windows XP or Windows Vista also possible) RAM: 512MB Harddisk: 200MB Processor: Pentium V, Centrino > 1,8 GHz, Pentium M > 1,0GHz
Recommended: Operating systems: Windows XP RAM: 1024MB Harddisk: 1GB Processor: Pentium V, Centrino > 3,0 GHz, Pentium M > 1,5GHz
Installation
Perform the Setup_CODESYSV<Version>.exe to start the installation assistant which will guide you.
In order to minimize the risk of data security breaches we recommend the following organizational and technical measurements for the system running your applications: Avoid as far as possible to expose PLCs and PLC networks to public networks and internet. For protection use additional security layers like a VPN for remote access and install firewall mechanisms. Restrict access on authorized persons, if available change default passwords at start-up and modify them frequently. If you nevertheless want to publish your Web Visualization, then it is highly recommended to give it at least a simple password protection to prevent that anybody can access the functionality of your PLC over internet (for an example see the project "SimpleWebvisuLogin.project" provided with the standard setup of the programming system). Use the latest versions of Gateway Server and Web Server. For web servers and gateway servers up to V3.4 SP4 Patch 2 a security vulnerability (US ICS CERT: ICS-ALERT-12-097-02) was detected. This is fixed as from V3.5.
tech_doc_e.doc / V1.2
Page 3 of 19
Start
Start CODESYS from the Start menu: Per default the path is Programs 3S CODESYS CODESYS CODESYS V<version>. Alternatively use the CODESYS icon which is available on the desktop after installation.
Help
Online help is provided via the Help menu. There you find the commands to open a Contents view of the help, the Index view for searching by keywords or the Search view for full-text search.
tech_doc_e.doc / V1.2
Page 4 of 19
7.1
Alternatively you can start via the CODESYS Icon desktop after installation.
(Future: You will be asked to select a Profile and after pressing Continue the CODESYS user interface will open. ) The programming system will be automatically started with a predefined profile. So currently you do not to have select a profile. When you start the programming system the first time after first installation on the system, you will be asked to choose the default collection of settings and features:
tech_doc_e.doc / V1.2
Choose "Standard" for the first steps described here, you always can switch to the "Professional" settings (via the Project Options dialog) if necessary . In the "Standard"
3S-Smart Software Solutions GmbH CODESYS Installation and Start.doc Page 5 of 19
environment the user interface is adapted for most effective usability and some rarely used features are left out. (2) Create a project To create a new project, choose command New project from the File menu:
In the New Project dialog select Standard project in the Templates field and enter a Name and a Location path for the project file. Press OK to confirm. A wizard dialog will open:
Choose device CODESYS Control Win V3 and programming language Structured Text for PLC_PRG. Press OK to open the new project.
tech_doc_e.doc / V1.2
The project name now will appear in the title bar of the CODESYS user interface and as a symbolic root node in the POUs and the Devices view windows.
Page 6 of 19
Per default one program POU, the Project Settings and some resource objects are available: The POUs window contains the Project Settings. The Devices window shows tree with a device "Device (CODESYS Control Win V3)" of type CODESYS Control Win V3 with an application adjoined below. The latter includes the program "PLC_PRG" to be edited in Structured Text and the obligatory Task Configuration defining a "MainTask" that controls PLC_PRG. Furthermore there is a Library Manager, automatically including the library "IoStandard.library" necessary for IO-configurations and the Standard.library providing all functions and function blocks which are required matching IEC61131-3 as standard POUs for an IEC programming system. (At the moment do not care about the additional node "Plc Logic" inserted below the device node "Device (CODESYS Control Win V3)". It is just a symbolic node indicating that the device is a "programmable" one.) The symbolic device name can be renamed by selecting this entry, opening an edit field with the <Space> key and entering another name instead of "Device". Do this and enter PLCWinNT" instead.
7.2
tech_doc_e.doc / V1.2
Page 7 of 19
In the declaration part of the editor put the cursor behind VAR and press the Return-key. A new empty line will be displayed where you enter the declaration of variables ivar and erg which are of type INTEGER and fbinst of type FB1:
PROGRAM PLC_PRG VAR ivar: INT; fbinst: FB1; erg: INT; END_VAR
Instead of this you could directly type a line in the implementation part of the editor (body) and use the Autodeclare function, see (4).
(4) Enter programming code in the body of PLC_PRG In the body part of the PLC_PRG editor put the cursor in line 1 and enter the following lines:
ivar := ivar+1; fbinst(in:=11, out=>erg); // counter // call function block FB1, input parameter // with input parameter in // output is written to erg
Instead of steps (3) and (4) you could use the Auto Declaration feature: Immediately enter an implementation line in the body of the program, then press the <Return>-key. For each not yet declared variable found in the new line the Auto Declare dialog will open, where you can do the declaration settings:
tech_doc_e.doc / V1.2
Page 8 of 19
The variables name and scope as well as the current POU (Object) will be filled in automatically. Enter the desired type and initialization value according to the declaration described in (3). Regard that comments if you define them here in the autodeclaration dialog, will not be inserted indicated by// like shown above, but as an xml-description in the declaration part and will later be usable for documentation purposes. Confirm the dialog with OK. This will enter the declaration of erg in the declaration part of the POU with the comments ahead:
(5) Create a further programming POU (ST function block FB1) We add a function block which will add "2" on the input given by variable "in". The result will be written to output "out": Choose command Add object from the Project menu. Select 'POU' in the left part of the 'Add Object' dialog. Enter a Name "FB1" for the POU, activate option Function Block in the Type section. Choose 'Structured Text (ST)' for the Implementation language.
tech_doc_e.doc / V1.2
Press button Open to confirm the object settings. A further editor window will open for the new function block FB1. Declare there the following variables, in the same way as having done for PLC_PRG:
Page 9 of 19
FUNCTION_BLOCK FB1 VAR_INPUT in:INT; END_VAR VAR_OUTPUT out:INT; END_VAR VAR ivar:INT:=2; END_VAR
7.3
Define the Resource objects for running and controlling the program on the PLC
(6) Start Gateway Server and PLC Start Gateway Server: The Gateway Server is started automatically at system start as a service. Make sure that in the system tray, indicating that the gateway is running. If the icon is there is an icon looking like , the gateway currently is stopped.
(This icon is part of the GatewaySysTray program which is available for controlling and monitoring the Gateway service. It provides a menu with a start and a stop command, thus allowing the user to stop or restart the service manually. NOT YET IMPLEMENTED: Also a Gateway Inspector function is available. The menu also includes the command Exit Gateway Control, which just terminates the GatewaySysTray program, not however the Gateway service. The GatewaySysTray program is started automatically when Windows is started, however it also can be started manually via the Programs menu.)
Start PLC: The PLC (CODESYS Control Win V3) is available as a service at system start. It is represented by an icon in the system tray: for status 'stopped', for status 'running'. For security reasons (Protection against unauthorized access) as from V3.5 SP2 the PLC service will not any longer be started automatically at the system start. It must be started manually by command 'Start PLC' from the menu which you open by a mouse-click on the icon.
CAUTION: Check controller accessibility! For security reasons, controllers, specifically, their TCP/IP programming ports (usually UDP Ports 1740..1743 and TCP-Ports 1217 + 11740 or the controller specific ports) must not be accessible from the Internet or untrusted Networks under any circumstances! In case Internet access is needed, a safe mechanism has to be used, like VPN and password protection of the controller. (This icon is part of the CODESYSControlSysTray program which is available for controlling and monitoring the CODESYS Control Win V3 service. It provides a menu with a start and a stop command, thus allowing the user to stop or restart the service manually. The menu also includes the command Exit PLC Control, which just terminates the CODESYSControlSysTray program, not however the ControlService. The CODESYSControlSysTray program is started automatically when Windows is started, however it also can be started manually via the Programs menu.)
tech_doc_e.doc / V1.2
Page 10 of 19
(7) Set the "Active Application" In consequence of a mouse-click on MainTask in the devices window of standardproject an editor view containing the configuration of the task opens:
In the Devices window the name Application is displayed in bold letters. This means that this application is set as active application. Thus all commands and actions concerning the communication with the PLC will refer to this application. In order to set an application as "active one" select the application entry in the Devices window and choose command Set Active Application from the context menu.
(8) Configure a communication channel to the PLC Perform a double-click on entry PLCWinNT (CODESYS Control Win V3) in the devices window. The dialog PLCWinNT will open with subdialog Communication. Here you have to set up the connection between the PLC (target, device) and the programming system according to the following steps. The resulting connection will finally be entered in the line below Select network path to the controller: If this is your first communication setup with CODESYS V3, you now have to define the local Gateway Server. (If you have defined the server already in previous sessions, it will be displayed in the communication settings dialog as shown in the figure on the next page. In this case you can skip this step and continue with defining the communication channel to the target, see also on the next page. ) The server is provided with the CODESYS setup. Press button Add gateway to open the Gateway dialog:
tech_doc_e.doc / V1.2
Page 11 of 19
Enter a symbolic Name for the Gateway, define the Driver type "TCP/IP" and enter IPaddress "localhost" (Perform a double-click on the column field to open an edit frame). Leave the setting for the Port. Confirm with OK. The gateway will be entered in the field on the left part of the Communication dialog and the name of the Gateway will be added to the selection list under 'Select the network path to the controller'. When the gateway is properly running, a green bullet is displayed before the entry, otherwise a red one:
tech_doc_e.doc / V1.2
Page 12 of 19
Now define a channel to the target device which should be connected via the set gateway: Press button Scan network to search for available devices in your local network. You should at least find the PLC installed with the CODESYS setup: It will be displayed indented below the gateway: instead of "WST06 [003C]" shown in the picture below you should find the name and address of your computer.
Now select the PLC (device) entry and press button Set active path. This will set this communication channel as the active one, which means that all actions concerning communication will exactly refer to this channel. Regard this later when you may have set up several communication channels in your project. The settings will be applied automatically, you can leave the Communication dialog now.
7.4
tech_doc_e.doc / V1.2
If you just want to check your "active" application program for syntactic errors, perform command 'Build' (Context menu when application object is selected, Build menu) or use <F11>. Attention: No code will be generated in this case. Error messages will be displayed in the Messages window which is placed at the lower part of the user interface per default.
Page 13 of 19
Even if this syntactical check has not be done before, you can log into the PLC. (Therefore make sure, that the PLC is running, that is the symbol in the system bar is colored). Use command Login (context menu when the application object is selected). If the communication settings have been configured as described in (8) the following message box will appear (otherwise you will be asked to correct the communication settings):
Confirm with Yes to start the compilation and download of the application. The compile messages will be displayed in the Messages window. If the project has been created correctly, no compilation errors are to be expected, so that the application can now be started, see (11).
(10) Start and monitor application Having created a 'standardproject' and downloaded the error-free application 'Application' as described in the previous steps, this application can now be started on the device CODESYS Control Win V3.
Starting the application on the PLC: Perform command Start, which is in the context menu per default, when the application object is selected. In consequence the program starts running.
Monitoring the application: There are three possibilities for watching the variables of the application program:
tech_doc_e.doc / V1.2
1. Watch views with defined watch lists 2. Writing and forcing variables 3. Online views of the particular POUs.
Page 14 of 19
1. Open an instance window of the program The instance view of a POU provides all watch expressions of that instance in a table view in the declaration part and if activated as inline monitoring also in the implementation part. In order to open the online view, perform a double-click on "PLC_PRG" in the Devices window or select this entry and choose command 'Edit object' (context menu). The following dialog will open, showing all instances of PLC_PRG (only one in our example):
Here you can choose whether the POU should be viewed in online or offline mode. Online mode will be activated per default and thus just confirm with OK for the current example. The online view of PLC_PRG will be opened: In the lower part you see the code lines as entered in offline mode, supplemented by the little inline monitoring windows behind each variable, showing the actual value. In the upper part a table shows the watch expressions of the POU, i.e. the current values of the respective variables in application "Application" on the PLC.
tech_doc_e.doc / V1.2
2. Writing and forcing variables: You can write or force a "Prepared value" to variable ivar on the PLC, which means that ivar will be set to this value at the beginning of the next cycle. Perform a double-click on the field in column Prepared value, enter a desired integer value and leave the field by <Return> or by a mouse-click outside of the field. Perform command 'Write values' resp. Force values
3S-Smart Software Solutions GmbH CODESYS Installation and Start.doc Page 15 of 19
(Debug menu) to write or force this value to the PLC. You will see the result at once in column Value.
3. Use the watch views: Watch view windows can be used to configure specific sets of watch expressions of the application, e.g. for the purpose of debugging. From the View menu use command 'Watch' -> 'Watch1'. The watch window will open. In column Expression perform a mouse-click in the first line of the table to open an edit frame. Enter the complete path for variable ivar which should be monitored: "PLCWinNT.Application.PLC_PRG.ivar". It is recommended to use the input assistant via for this purpose. Close the edit frame with <Return>. The type will be added button automatically. Do the same for the further variables. The watch list shown in the next picture just contains expressions of PLC_PRG, but of course you might create a set of any variables of your project. Regard that for instance variables, e.g. for the FB1-instances, it is sufficient to enter the expression " PLCWinNT.Application.PLC_PRG.fbinst". The particular variables will be entered automatically and the corresponding lines can be opened via the plus-symbol: The current value of a variable is displayed in the 'Value' column:
If not yet done, now perform command 'Start Application' from the Online menu. The application will be started on the PLC and the current value will be displayed in column Value:
To disconnect from the PLC perform command 'Logout' from the Online menu.
tech_doc_e.doc / V1.2
Page 16 of 19
7.5
Debug an application
(11) Set breakpoint and step through the program In online mode you can set breakpoints as defined break positions for the program execution. When the program has reached a breakpoint you can execute the program in single steps. At each halt position you see the current value of the variables in the monitoring views. Try the following: Select line 1 of PLC_PRG. Press key <F9>, which equals the command 'Toggle Breakpoint' from the Debug menu. The breakpoint will be indicated. If the application currently is in STOP state, this will look like:
Now you can step further by using <F8>, which represents command Step Into from the Debug menu and therefore will step also into the function block instance. To skip the steps of the function block use <F10> which equals the command Step Over. Each variable value currently read from the PLC will be displayed. You might also have a look at the Breakpoints dialog to be opened via command Breakpoints from the View menu. Here, the breakpoints currently set can be viewed and edited and new breakpoints might be entered. Regard also that the breakpoint positions will be remembered when you log out. They will be indicated by faded red bullets.
Now you have built and run your first project with CODESYS V3. For further use of the programming system please see the online help.
tech_doc_e.doc / V1.2
Page 17 of 19
tech_doc_e.doc / V1.2
Page 18 of 19
Change History Version 0.1 0.2 0.3 0.4 1.0 2.0 3.0 4.0 4.1 5.0 6.0 7.0 8.0 9.0 9.1 9.2 10.0 Description Issued Description of sample project Update of sample project, Review Corrections acc. to Review Release Release after corrections in chap.6 concerning device name at several positions Release after adaptations in chap.6.3 (default device) and 6.4 (monitoring possibilities) Editor MN MN MN/MW MN MN MN MN Date 16.05.2006 26.01.2007 08.02.2007 09.02.2007 09.02.2007 21.02.2007 26.03.2007 14.11.2007 20.02.2008 28.02.2008 04.07.2008 19.03.2010 05.11.2010 29.05.2012 19.09.2012 09.11.2012 28.11.2012
Release after adaptations to CODESYS V3.1.3.0 according MN to the German document version 4.0 Adaption to CODESYS V3.2 acc. to online help Formal Review, Release Adaption to CODESYS V3.2.0.4 acc. to online help, Release Adaption to CODESYS V3.4.0.0 acc. to online help, Release CDS-17521 Adaption to CODESYS V3.5.1.0 online help, chap.4 (security recommendations) added, Release CDS-29303 CDS-31487 (no automatic start of CODESYS Control Win) Release for CODESYS V3.5.2.0 SE MN MN MN MN MN MN MN MN
tech_doc_e.doc / V1.2
Page 19 of 19