FPWIN Pro Program Editing This is what we

  • Slides: 81
Download presentation
FPWIN Pro

FPWIN Pro

Program Editing This is what we cover in next two days. Ladder Editing How

Program Editing This is what we cover in next two days. Ladder Editing How to draw constant Matsushita Address (Direct address) How to draw OUTPUT How to draw line How to change constant to B or Pulse, OUTPUT to SET Local Variable Simple Type How to declare Compile Option How to use FB Timer, Counter Comment FP-X motion profile Motion instruction How to draw Process order 32 bit DDT DUT profile How to use DUT ST programming Difference FB & FUN Creating FB using motion in ST How to use FB in ladder How to use FB in ST Save into Library How to use SHIFT How to create ARRAY Adr_of_I, Adr_of_O How to use bit array or DUT in F 0 MV How to use F 10 Other way to use DUT XY address of special unit I’ll show the power of FPWIN Pro Friday.

Create a new project 1 For first time, SELECT “Create a new project”. 2

Create a new project 1 For first time, SELECT “Create a new project”. 2 Click OK

POU (Program Organization Unit) Project contains multiple programs. Program = POU Project Program Program

POU (Program Organization Unit) Project contains multiple programs. Program = POU Project Program Program Each program can have different operation like: Program 1 ----Initial setting Program 2 ----Interlock Program 3 ----Stage motion control Program 4 ---- Alarm logging Program 5 ----Temperature control Program 6 ----Communication to host etc Shorten the development time by organized debugging for the entire project. Also multiple people can develop different part of the program.

Creating project 1 Project name(file name) 2 Enter project file name here. PLC type:

Creating project 1 Project name(file name) 2 Enter project file name here. PLC type: You can change PLC type from this button. Select FP-X 32 K C 30 T, C 60 T this time. 3 Program name: Enter name of the first program(POU) in this project. You can add programs (POU) later. 4 Program Language: Select language that you use for programming for this POU. Select Ladder Diagram this time. 5 Create project: Click Create Project.

Project navigator Left side tree is project navigator. PLC system register setting Libraries: You

Project navigator Left side tree is project navigator. PLC system register setting Libraries: You can install libraries for function and function block made by anyone. Use the function as if those are built-in function. Tasks: You can define what POUs can run. POU runs from top to bottom defined in this task list. DUT: Data Unit Type This is like STRUCTURE in C language. But I will explain this later. Global Variables I will explain this later. POU: Program Organization Unit

Program Editing Program field TOOL BAR Program field: When you click on this field,

Program Editing Program field TOOL BAR Program field: When you click on this field, the above TOOL BAR appears. Tips Please remember the Most important key stroke. [F 2]

Matsushita Direct Address Capital only Use CAPITAL only: When you use lower case, FPWIN

Matsushita Direct Address Capital only Use CAPITAL only: When you use lower case, FPWIN Pro recognize it as Variable. Matsushita Direct Address X 0, X 1. . XF, X 10, X 11. . X 1 F Y 0, Y 1. . YF, Y 10, Y 11. . Y 1 F R 0, R 1. . RF, R 10, R 11. . R 1 F DT 0, 1, 2. . . DT 9, DT 10, DT 11. . DDT 0, DDT 1. . . LD L FL etc Variable: Variable is custom memory area. You can write as the below.

Variable Declaring Variable As soon as you type “Motor” and hit ENTER, the below

Variable Declaring Variable As soon as you type “Motor” and hit ENTER, the below dialog box pops up suggesting to declare the Variable. 1 Declaring Motor 2 Suggesting BOOL(bit) type 3 Declare When you click or just hit ENTER while the focus is on here, it create a variable called “Motor” as BOOL type.

Variable Other way to declare Variables 1 Type variable name Type Start this time

Variable Other way to declare Variables 1 Type variable name Type Start this time 2 Click down arrow 3 Select type Select BOOL this time ARRAY = Dimension BOOL  = Bit DINT  =32 bit DEC DWORD =32 bit HEX INT =16 bit DEC REAL =32 bit      floating point STRING[32]=Text TIME =Time WORD =16 bit HEX

Constant Types How to use B contact or Pulse 1 Double click on contact

Constant Types How to use B contact or Pulse 1 Double click on contact 2 Select Nagation Normal Negation Rising Edge Falling Edge

Output Types How to use SET 1 Double click on Coil Normal 2 Select

Output Types How to use SET 1 Double click on Coil Normal 2 Select Set Negation Rising Edge Falling Edge Set Reset

PLC System Register setting 1 Click on + of PLC, System Registers 2 Double click

PLC System Register setting 1 Click on + of PLC, System Registers 2 Double click Tool Port 3 Select 115200 for fast program download

Downloading Project Setting communication Parameters 1 Select Communication Parameters 2 Select the above When

Downloading Project Setting communication Parameters 1 Select Communication Parameters 2 Select the above When you install the latest GTWIN, although it shows USB in the list of Network type, you have to select CNET(RS 232 C) to communicate with FP-X via USB cable.

Downloading Project Go Online 2 Click this ICON 1 Click this ICON

Downloading Project Go Online 2 Click this ICON 1 Click this ICON

Downloading Project Someone must have gotten this error? Define “Start” as BOOL in the

Downloading Project Someone must have gotten this error? Define “Start” as BOOL in the header.

Variable What bit PLC uses for “Start” and “Motor”? These are automatically assigned to

Variable What bit PLC uses for “Start” and “Motor”? These are automatically assigned to R bits by FPWIN Pro compiler. Every time you compile the project, same “Start” may be different R bit. How can you know which bit are supposed to be used or not used?

Variable Compile option From Menu, Extras -> Options->Compile option You can define System area

Variable Compile option From Menu, Extras -> Options->Compile option You can define System area which compiler uses and user area which you can use as direct addressing. For default, you can use from R 0 to R 5 F and DT 0 to DT 1650. What if you try to use R 60?

Variable Compiler automatically allocates variable to open memory. R 0 ~ R 9 F

Variable Compiler automatically allocates variable to open memory. R 0 ~ R 9 F R 100 ~ R 19 F R 200 ~ R 29 F R 300 ~ R 39 F R 400 ~ R 44 F R 450 ~ R 49 F and go on. From touch screen Error message Motion Profile Program bit for operation 1 Purpose 2 Purpose 3 If you have programmed before, you know how pain in the neck this can be. R 0 ~ R 9 F From touch screen R 100 ~ rest Compiler automatically allocates variable to open memory from the top to bottom. Now you don’t have to worry about arranging the open memory area.

Timer, Counter FB needs unique Identifier 1 Click this Icon 2 Select timer with

Timer, Counter FB needs unique Identifier 1 Click this Icon 2 Select timer with FB 4 Enter Identifier (Any name) FB needs unique identifier. You can use only alphanumeric characters and underscore. It can start 3 Click here

Timer, Counter Using FB parameter 3 Select Function Block 4 Expand by clicking +

Timer, Counter Using FB parameter 3 Select Function Block 4 Expand by clicking + 1 Enter all in and out start: = Start signal SV: = Set Value in ms T: = Timer output (OT can be connected) EV: = Elapsed Value (For monitor purpose) 2 How to use timer out Pump_Time. T 5 Select this (Identifier name. T) While this field is active, press F 2 to bring the left dialog box. Pump_Time. EV is to monitor the EV value.

Monitor Changing bit status 1 Click on contact (not on name or address) The

Monitor Changing bit status 1 Click on contact (not on name or address) The below dialog pops up. 2 Click OK

Comment in Ladder Changing bit status 2 Set the area and type comment To

Comment in Ladder Changing bit status 2 Set the area and type comment To change line, CTRL+ENT. 1 Click this Click here and drag Click here and resize

FP-X Motion Profile How to use Motion Profile Control Code 32 bit DDT 10

FP-X Motion Profile How to use Motion Profile Control Code 32 bit DDT 10 H 000 10100 Low Speed 32 bit DDT 12 500 Hz High Speed 32 bit DDT 14 1000 Hz Acceleration Time 32 bit DDT 16 200 ms Travel Distance 32 bit DDT 18 3000 pulses Creep Distance 32 bit DDT 20 0 pulses DDT 10 is 32 bit. 60 step acceleration 50% duty 48 to 100 KHz Incremental CW/CCW DT 10 is 16 bit. DWR 0 is also 32 bit. s_Start is start address. n_Channel is axis number from 0 to 3 for FP-X Tr.

FP-X Motion Program in Ladder How to use Motion Profile How to express each

FP-X Motion Program in Ladder How to use Motion Profile How to express each data type. Dec => 12345 Hex =>16# _ _ Real => 0. 1234 String=> ”Hello” Binary => 2#_ _ _ _ Separate in two networks

FP-X Motion Program in Ladder Or you will get this warning Difference between Error

FP-X Motion Program in Ladder Or you will get this warning Difference between Error and Warning Error: You must fix it to run the program Warning: It still runs.

Before downloading Set PLC system register to generate pulses 1 Double click this 2

Before downloading Set PLC system register to generate pulses 1 Double click this 2 Select “Pulse Output”

Monitor Data How to monitor Pulse output counting 1 Double click this 2 Enter

Monitor Data How to monitor Pulse output counting 1 Double click this 2 Enter Data or Variable name DDT 90348 is Elapsed Value of Ch. 0 pulse output. 3 Selecting Variable For this case, select Sample[PRG] And select Variable like “Start”

Monitor Data How to monitor Pulse output counting Monitoring “EV” variable (Elapsed value) of

Monitor Data How to monitor Pulse output counting Monitoring “EV” variable (Elapsed value) of Pump_Time FB of Sample POU Monitoring “Start” variable (bit) of Sample POU Monitoring Elapsed value DDT 90348 Press [INS] to insert another value.

DUT(Data Unit Type) This is like template of a group of data. Or template

DUT(Data Unit Type) This is like template of a group of data. Or template of profile or recipe. In C language, it’s called data structure. As you remember, FP-X motion profile consists of six 32 bit registers. DUT allows you to create the template. Control Code 32 bit DDT 10 Low Speed 32 bit DDT 12 High Speed 32 bit DDT 14 Acceleration Time 32 bit DDT 16 Travel Distance 32 bit DDT 18 Creep Distance 32 bit DDT 20 TYPE FPX_Profile Control. Code Low. Speed High. Speed Accel. Time Travel. Dst Creep. Dst as as as DWORD DINT DTIN These are one group. So Low. Speed always is next 32 bit to Control. Code.

DUT(Data Unit Type) 1 Right Click on DUT and select New DUT This Tab

DUT(Data Unit Type) 1 Right Click on DUT and select New DUT This Tab shows what you are editing And enter the name of DUT as FPX_Motion_Profile. This is a template name. Enter necessary data Default values

DUT(Data Unit Type) 1 Create name JOB 1 using FPX_Motion_Profile template. This creates the

DUT(Data Unit Type) 1 Create name JOB 1 using FPX_Motion_Profile template. This creates the below table. JOB 1. Control. Code JOB 1. Low. Speed JOB 1. High. Speed JOB 1. Accel. Time JOB 1. Travel. Distance JOB 1. Creep. Distance

DUT(Data Unit Type) Since DUT has the default value in each data, all you

DUT(Data Unit Type) Since DUT has the default value in each data, all you need to activate pulse output is this. JOB 1. Control. Code JOB 1. Low. Speed JOB 1. High. Speed JOB 1. Accel. Time JOB 1. Travel. Distance JOB 1. Creep. Distance Specify the first data in the table. If you want to change the value of Travel Distance, do as follows.

DUT(Data Unit Type) How to select a variable from DUT. 2 Select Data Unit

DUT(Data Unit Type) How to select a variable from DUT. 2 Select Data Unit Type List of DUTs shall appear in the below box. 3 Double Click on [+] 1 Press [F 2] while this field gets the focus. When double clicked, the selected variable shall be appear in this field. 4 Double Click on Travel. Distance

Global Variable If you want to change value in valuable from touch screen, where

Global Variable If you want to change value in valuable from touch screen, where do you have to access? You have to define Global Variable with concrete direct address. Like Distance as DDT 0. When checked, you can use this variable in all POUs in this project. Now this is DDT 0

Global Variable VS Local Variable Project Global Variable POU 1 Reference Local Variable POU

Global Variable VS Local Variable Project Global Variable POU 1 Reference Local Variable POU 2 Global Variable Can be referred from any POU in this project Reference Local Variable Can be referred from its own POU only. Global Variable can be allocated to direct address or not. Direct address No direct address

ST(Structured text) Refer to HELP for ST. 1 Right click on POUs and select

ST(Structured text) Refer to HELP for ST. 1 Right click on POUs and select New POU 2 1. 2. 3. 4. Enter POU name Select PRG Select ST Select Program

Structured Text Program edit area

Structured Text Program edit area

Structured Text Rule 1: All program in ST is executed every scan. F 35_INC(DT

Structured Text Rule 1: All program in ST is executed every scan. F 35_INC(DT 0); Rule 3: End of each instruction requires semicolon. Rule 2: All instruction need parenthesis for operands. Or you could do as below. Use IF THEN statement. IF R 0=True THEN IF DF(R 0=False) THEN F 35_INC(DT 0); END_IF; IF DF(DT 0>=100) THEN F 35_INC(DT 0); END_IF; Rule 4: True or False, or True can be omitted. DF for executing just one scan. F 35_INC(DT 0); END_IF;

Structured Text Intuitive editor Type “IF” and hit [CTRL]+[F 1], it brings the below

Structured Text Intuitive editor Type “IF” and hit [CTRL]+[F 1], it brings the below IF (? BOOL? ) THEN END_IF; Type “F 171” and hit [CTRL]+[F 1], it brings the below Start address Channel number IF DF(Start) THEN F 171_SPDH(s_Start : = ? ANY 32? , n_Channel : = ? ANY 16? ); END_IF;

Structured Text Start address IF DF(Start) THEN F 171_SPDH(s_Start : = Job 1. Control.

Structured Text Start address IF DF(Start) THEN F 171_SPDH(s_Start : = Job 1. Control. Code, n_Channel : = 0); END_IF; Channel number Tip 1: You can change the line like above. To change value, just use colon equal. ( : = ) JOB 1. Travel. Distance : = 4500; This is like F 0 or F 1. JOB 1 : = JOB 2; Tip 2: Copying an entire DUT is easy. Y 8 : = True;

Structured Text Tip 3: Creating one shot. Y 0 : = DF(TRUE); How to

Structured Text Tip 3: Creating one shot. Y 0 : = DF(TRUE); How to use FB in ST 1 Set FB in header, variable 2 Type the name and hit space key. timer Timer(start : = ? BOOL? , SV : = ? INT? , T => ? BOOL? , EV => ? INT? ); The below all work! Timer(start : = R 0, SV : = 1234, T => Y 1, EV => DT 100); Timer(start : = R 0, SV : = 1234, T => Y 1); Timer(start : = R 0, SV : = 2000); Y 1: =Timer. T; DT 100: =Timer. EV; Timer(R 0, 2000);

Structured Text Other convenient programming CASE DT 12 OF 2, 100: If DT 12

Structured Text Other convenient programming CASE DT 12 OF 2, 100: If DT 12 is 2 or 100 Y 2: =True; -100. . 0: If DT 12 is from – 100 to 0 Y 2: =False; 1, 3. . 99, 101. . 120: If DT 12 is 1 or from 3 to 99 or from 101 to 120 DT 12: =DT 12+1; ELSE Otherwise executes this DT 12: =0; END_CASE; If (R 0=False) AND DT 10<= 1000 and DFN(R 1) Then DT 11: =DT 11+1; else DT 11: =DT 11 -2; End_If;

Structured Text Different types DDT 0: =5+1. 2; REAL data INT or DINT data

Structured Text Different types DDT 0: =5+1. 2; REAL data INT or DINT data Global. Variable. DDT 0: =INT_TO_REAL(5)+1. 2; DDT can’t be REAL format Converting to REAL format

Function Block is also POU. (Program) 1 Enter name of the function block 2

Function Block is also POU. (Program) 1 Enter name of the function block 2 Select Function Block 3 This time, select ST 4 Uncheck EN/ENO

Function Block When created FPX_Motion Function block, the FB does not have any input

Function Block When created FPX_Motion Function block, the FB does not have any input pin or output pin. 1 Set names of input and output Input and output pins with same name you set above appear

Function Block Before implementing the program written in the box, prepare the motion profile

Function Block Before implementing the program written in the box, prepare the motion profile table. We can use the same DUT that you created. 1 Make FPX_Motion_Profile DUT available in this FB Profile <= name of the data set containing the below variables. . Control. Code as DWORD. Low. Speed as DINT. High. Speed as DINT. Accel. Time as DINT. Travel. Distance as DINT. Creep. Distance as DINT

Function Block If DF(Start) Then Profile. Control. Code : =16#0010100; (*Fixed Control code*) Profile.

Function Block If DF(Start) Then Profile. Control. Code : =16#0010100; (*Fixed Control code*) Profile. Low. Speed : = Low. Speed; Low. Speed is a variable coming Profile. High. Speed : = High. Speed; in from one of the pins on the Profile. Accel. Time : = Accel. Time; FUNCTION BLOCK. Profile. Travel. Distance: = Trave. Distance; Profile. Creep. Distance: =0; (*Fixed Control code*) F 171_SPDH(s_Start : = Profile. Control. Code, n_Channel : = 0); (*Ch. 0*) End_If; Current. Position: =sys_di_PLS_CH 0_Elapsed. Value; 500 Profile. Low. Speed : = Low. Speed; 500 sys_di_PLS_CH 0_Elapsed. Value is a pre-registered system register and actually it is DDT 90348. This 500 comes in from Low. Speed pin.

Function Block 1 Press F 2 2 Select <System Variables> under Libraries How to

Function Block 1 Press F 2 2 Select <System Variables> under Libraries How to use pre-set variable

Function Block How to place FB you made in LD 1 Type fpx to

Function Block How to place FB you made in LD 1 Type fpx to find the FB. 2 Select FPX_Motion and hit Enter or click “Insert”. 3 Apply start contact and input values.

Function and Function Block FUN and FB are different things. Function Block(FB) How to

Function and Function Block FUN and FB are different things. Function Block(FB) How to make it Function(FUN) Same Memory usage Multiple of the usage Just one memory Instance Necessary None Return Value None Yes but selectable DF Available Not available Overall FB can keep running through multiple scans like when you move motion, you FUN should be done in one scan. So FUN is usually used to calculate something to get the result(return value). In case of FB In case of FUN If you use it 3 times 100 step Main POU It uses 300 steps This also uses 3 times of variables. It uses 100 steps

Monitoring values How to place FB you made in LD 1 Double-click on “Start”.

Monitoring values How to place FB you made in LD 1 Double-click on “Start”. FP-X starts generating pulses. Monitor the counting value. 2 Select “Monitor Header” This is monitoring all values used in this POU except for direct address data.

Monitoring values Adding monitoring values 1 Hit INSERT key. 2 Enter direct address. While

Monitoring values Adding monitoring values 1 Hit INSERT key. 2 Enter direct address. While the cursor is on a variable, hit DELETE. It shall delete the variable from the monitor list.

Monitoring values Change the monitor data type Enter direct address. Right click on the

Monitoring values Change the monitor data type Enter direct address. Right click on the value you want to change the data type. Changed to Decimal (INT)

Monitoring values Change the value While the cursor is on the data you want

Monitoring values Change the value While the cursor is on the data you want to change, just enter a value and hit ENTER. %MD: Data area %MW: Double word data %MX: Bit area Note: On POU screen, DT can be monitored as HEX only.

Monitoring values Change the value This is the FB we just added. Double click

Monitoring values Change the value This is the FB we just added. Double click on this. It expands and shows other variables contained in the FB.

Monitor Save the monitor format to a file 1 Right click on the field

Monitor Save the monitor format to a file 1 Right click on the field of the data monitor sheet. To open what you saved, you have to open any data monitor field first and open. Save this format.

Function Block Use the FB in ST 1 Set a variable for FB---- the

Function Block Use the FB in ST 1 Set a variable for FB---- the below example is Job 4 2 Type the name (instance) of the FB and hit [CTRL]+[F 1] Job 4 3 Enter all variables. Job 4( Start : = ? BOOL? , Low. Speed : = ? DINT? , High. Speed : = ? DINT? , Accel. Time : = ? DINT? , Trave. Distance : = ? DINT? , Current. Position => ? DINT? ); Job 4( Start : = DF(R 0), Low. Speed : = 500, High. Speed : = 1000, Accel. Time : = 500, Trave. Distance : = 2500, Current. Position => DDT 10);

Function Block Save FB & DUT to your library <<offline>> 1 Right click on

Function Block Save FB & DUT to your library <<offline>> 1 Right click on Libraries and select Library Install/Create….

Function Block Save FB & DUT to your library <<offline>> Click here 2 Enter

Function Block Save FB & DUT to your library <<offline>> Click here 2 Enter a name of the library. Whatever you like.

Function Block Save FB & DUT to your library <<offline>> A library is added

Function Block Save FB & DUT to your library <<offline>> A library is added and appears here. Cut & Paste FB and DUT to this library. It should look like this.

Function Block Save FB & DUT to your library <<offline>> Save FB & DUT

Function Block Save FB & DUT to your library <<offline>> Save FB & DUT to your To create a new library or To bring in existing ones. Close and save To set password Up to 50 libraries can be installed in one project. Unlimited amount of POU can reside in one library.

Some tips How to create Array 1 Name it first 4 Change number of

Some tips How to create Array 1 Name it first 4 Change number of array 0. . 15 means 0 to 15 3. . 50 means 3 to 50 2 Select ARRAY 3 Select Type of Array

Some tips Three dimensional array If you separate by a comma. [-8. . 1

Some tips Three dimensional array If you separate by a comma. [-8. . 1 , 0. . 3 , 2. . 4] This is useful when you want to make some profiles like multiple motion tables.

Some tips Adr_Of_Var When you have DUT or ARRAY, how can you use F

Some tips Adr_Of_Var When you have DUT or ARRAY, how can you use F 10_BKMV? Adr_Of_Var finds the top address of a data group. Adr. Last_Of_Var finds the last address of a data group. Test. DUT. Control. Code as DINT Test. DUT. Low. Speed as DINT : : Test. DUT. Creep. Distance as DINT Finds the first address of 16 bit data of Test. DUT. Control. Code. Finds the last address of 16 bit data of Test. DUT. Creep. Distance.

Some tips Adr_Of_Var_I and Adr_Of_Var_O Adr_Of_Var_I : This is for input. Adr_Of_Var_O : This

Some tips Adr_Of_Var_I and Adr_Of_Var_O Adr_Of_Var_I : This is for input. Adr_Of_Var_O : This is for input. In ST, there is only Adr_Of_Var for both input and output.

Some more tips How to use shift bit 1. 2. (((ARRAY))) 3. Just use

Some more tips How to use shift bit 1. 2. (((ARRAY))) 3. Just use direct address WRxx But you may want to use some variable names. You can use ARRAY. All names in the same array are same but just number is different. You may want to change names of each bit. Use DUT. (((DUT))) Bit. Array[0] Either way 2 or 3, each group must consist of 16 bits, no more or less. Bit. Array[1] Bit. Array[2] Bit. Array[3] Bit. Array[4] (((Direct Adr))) Bit. Array[5] Bit. Array[6] : : Bit. Array[12] Bit. Array[13] Bit. Array[14] Bit. Array[15] Bit. DUT. bit 0 Bit. DUT. start Bit. DUT. stop Bit. DUT. up Bit. DUT. down Bit. DUT. limit. Up Bit. DUT. limit. DWN (((ARRAY))) (((DUT)))

Some more tips How to program F 356 EZPID When you double click on

Some more tips How to program F 356 EZPID When you double click on any function, it shall show what type of data you have to use for input and output pins. In this case, you have to use three prepared DUT which comes with FPWIN Pro software when you purchase it.

Some more tips How to program F 356 EZPID Prepare these three DUT. Just

Some more tips How to program F 356 EZPID Prepare these three DUT. Just attach these DUT to input pins. Monitoring is EZ! Loop 1 Control. b 0_AT_Request Loop 1 Control. b 1_AT_Complete Loop 1 Para. Hold. SP Loop 1 Para. Hold DUT is usually assigned in Global with actual Matsushita Address so that you can access it from your HMI.

Some more tips SUPER EZ PID instruction To use this instruction for typical temperature

Some more tips SUPER EZ PID instruction To use this instruction for typical temperature control, all you have to set is the set point and start Auto Tuning. Monitoring is EZ! You can turn this bit ON by HMI as well. Loop 1 Control. b 0_AT_Request Or you can do this too. *b 0_AT_Request will be automatically shut down when AT completed. You can also change the SP from HMI. Loop 1 Param. Hold. SP In order to access to variables from HMI, you have to set them in Global Variable.

Some more tips SUPER EZ PID instruction Global Variable setting Local Variable setting You

Some more tips SUPER EZ PID instruction Global Variable setting Local Variable setting You have to change the RETAIN area in Compile Option (Extras-> Options). Tip: When you move the slider close to where you want to set, then use left and right arrow keys to adjust.

String Structure of string Test. String: =‘Hello’; Max size of this string 20 DT

String Structure of string Test. String: =‘Hello’; Max size of this string 20 DT m+1 Number of characters in this string 5 DT m+2 2 nd Char 1 st Char e H DT m+3 4 th Char 3 rd Char l l DT m+4 6 th Char 5 th Char : : : DT m DT n Last Char o

String Instructions for strings CONCAT: MID: RIGHT: LEFT: INSERT: FIND: EQ: SEL: Connects two

String Instructions for strings CONCAT: MID: RIGHT: LEFT: INSERT: FIND: EQ: SEL: Connects two strings Extract characters from a string from RIGHT Insert a string in another string Find the position of a string in another string Checks if two strings are equal. Select one string from multiple ones REAL_TO_STRING DINT_TO_STRING DWORD_TO_STRING TIME_TO_STRING_TO_ETLANADDR

String Example of how to use string Use Adr_Of_Var. Offs First word of string

String Example of how to use string Use Adr_Of_Var. Offs First word of string is “total size of the string”. And the second word is the number of character of the string, which is the word required in F 159. You can get this by using Adr_Of_Var. Offs or Test. String[1]. Also number of characters you want to send can be obtained by “LEN” instruction. CONCAT Test 4 String: =CONCAT(Test 2 String, Test 3 String);

String Example of how to use string Use Adr_Of_Var. Offs First word of string

String Example of how to use string Use Adr_Of_Var. Offs First word of string is “total size of the string”. And the second word is the number of character of the string, which is the word required in F 159. You can get this by using Adr_Of_Var. Offs or Test. String[1]. Also number of characters you want to send can be obtained by “LEN” instruction. CONCAT Test 4 String: =CONCAT(Test 2 String, Test 3 String);

Index register All you can use is IX and IY Other Index registers like

Index register All you can use is IX and IY Other Index registers like I 2 to ID are reserved by FPWIN Pro compiler. Even though you can use only IX and IY, by storing it to elsewhere you can use it many times. VAR IX_Store AS INT Beginning of POU IX_Store: =IX; -----Storing IX to IX_Store variable. Program IX: =IX_Store; -----Bringing IX back from IX_Store variable. To store IX and IY elsewhere, use DIX. Double word VAR IXIY_Store AS DINT IXIY_Store: =DIX;

Another way to use DUT 1 Special unit I/O address It’s always difficult to

Another way to use DUT 1 Special unit I/O address It’s always difficult to remember all I/O address of special units like Positioning unit. You can set a DUT for Positioning unit and bring it into your variable. For example, RTEX has 128 bit of input information such as Servo Ready, Busy, Completed, Home Completed etc can be easily assinged. This DUT is allocated from X 100, which is input address of FP Sigma RTEX at slot 0. Instead of X 110, it will be like below. No manual necessary any more. RTEX_Slot 0_IN. Servo_Ready_Axis 1

SFC (Sequential Flow Chart) SFC is convenient for sequential program like motion control, communications

SFC (Sequential Flow Chart) SFC is convenient for sequential program like motion control, communications or batch program. It’s easy to think the sequential movement and easy to program. Each step can be separated from the other. So while one step is working and other steps are not active, all you have to do is to check the activated step only.

SFC (Sequential Flow Chart) Initial step: This step is automatically inserted. Transition: When the

SFC (Sequential Flow Chart) Initial step: This step is automatically inserted. Transition: When the condition occurs, it moves to the next step. Step: You can write multiple programs (called actions). Each action can use different program language. When you made an Action, the color of the step become painted. Final Step

SFC (Sequential Flow Chart) To edit, right click on the action and select Zoom

SFC (Sequential Flow Chart) To edit, right click on the action and select Zoom Into. Name of Step plus dot x(. x) turns on the last scan. You can use it to reset output if you don’t want to keep the coil ON in the next step.

RUN Time edit 1 Click on this to go to RUN time edit mode.

RUN Time edit 1 Click on this to go to RUN time edit mode. This tool bar appears only in online mode. 2 Click this when you finish editing the program. Note: If the program are you edited is larger than 128 steps for FP 0, 2 and 2 SH, it generates an error and won’t download the change. If the PLC is FP Sigma V 3 or FP-X, they have a new feature called RUN TIME DOWNLOAD. Which means it download the entire program while it’s running. Our competitors can’t do this at this moment. This tells you how advanced FP-X is.