WO2002079886A1 - Outil de programmation - Google Patents

Outil de programmation Download PDF

Info

Publication number
WO2002079886A1
WO2002079886A1 PCT/JP2001/002670 JP0102670W WO02079886A1 WO 2002079886 A1 WO2002079886 A1 WO 2002079886A1 JP 0102670 W JP0102670 W JP 0102670W WO 02079886 A1 WO02079886 A1 WO 02079886A1
Authority
WO
WIPO (PCT)
Prior art keywords
function block
preview
storage unit
programming tool
information storage
Prior art date
Application number
PCT/JP2001/002670
Other languages
English (en)
French (fr)
Inventor
Jun Ueda
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to KR10-2003-7008579A priority Critical patent/KR100524361B1/ko
Priority to PCT/JP2001/002670 priority patent/WO2002079886A1/ja
Priority to US10/451,993 priority patent/US7340683B2/en
Priority to JP2002577655A priority patent/JP4122974B2/ja
Priority to DE10197097T priority patent/DE10197097B4/de
Publication of WO2002079886A1 publication Critical patent/WO2002079886A1/ja

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13107Logic symbols, plan LOP, functional block symbols FBS, functional programming FUP
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/967Visual or iconic programming

Definitions

  • the present invention relates to a programming tool for performing programming using a function block diagram (hereinafter referred to as FBD). Thread
  • the 16th country is a diagram showing the configuration and programming operation of a programming tool using the FBD according to the conventional technology.
  • the FBD of the programmable controller 109 connected via the information transmission unit 106 is used as a programming tool 1 1
  • the operation created with 0 will be described.
  • the programming tool 110 using FBD consists of an FB library section 102 that stores function blocks (hereinafter referred to as FBs) 120 selected by the user, as shown in Fig. 16 It consists of an FBD editor section 101 that connects the created FBs 120 by dragging and dropping.
  • FBs function blocks
  • the FBI 20 is a functional block that has an algorithm and data to realize a certain function and has a hidden internal structure.It has an input pin 1 2 1 as an input interface and an output pin 1 2 2 as an output interface. .
  • the FB library In a conventional FBD programming tool, the FB library
  • the input pins 1 2 1 of that FB 1 20 and the output of the FB 1 20 placed earlier Connect one pin (P in) to connect between pin 122 or the output pin 12.2 of the FBI 20 and the input pin 121 of the FB 120 placed before it. Select by the click operation of the mouse 107 b, and then connect the other pin to be connected by selecting the other pin by the click operation of the mouse 107.
  • the present invention has been made to solve such a problem, and an object of the present invention is to provide a programming tool that can create a program by FBD with a simple operation.
  • a selection means for selecting a plurality of function blocks displayed in a library format and function blocks selected by the selection means are stored in the order of selection operation.
  • a preview unit is provided for previewing the selected function block when a function block is selected.
  • a virtual column for displaying the function block is provided, and the length of the output pin of the function block is calculated using the maximum value of the horizontal size of the function block displayed in the column. Then, the function blocks in the above row are aligned on the left side.
  • the function blocks are selected and confirmed by clicking, dragging, and dropping the mouse on the function blocks displayed in the library format.
  • the function block to be the next candidate of the selected function block is narrowed down, and the function block display of the next candidate is changed.
  • each function block has a data type of the input pin and the output pin of the function block in advance, and a plurality of selected function blocks are connected based on the data type.
  • FIG. 1 is a system configuration diagram of a programming tool according to the present invention.
  • FIG. 2 is a circuit block diagram of a programming tool according to the present invention.
  • FIG. 3 is a flowchart showing the operation of the programming tool according to the present invention.
  • FIG. 4 is a diagram showing a state where function block information is stored in a function block information storage section of a storage section of the programming tool according to the present invention.
  • FIG. 5 is a flowchart showing the operation of the preview processing of the programming tool according to the present invention.
  • FIG. 6 is an example of a preview display of a programming tool according to the present invention.
  • FIG. 7 is a diagram showing a state in which drawing information is stored in a preview drawing information storage section of a storage section of the programming tool according to the present invention.
  • FIG. 8 is a flowchart showing the operation of the automatic connection processing of the programming tool according to the present invention.
  • FIG. 9 is a diagram showing the processing order of the pins in the automatic connection processing of the programming tool according to the present invention.
  • FIG. 10 is a diagram showing a state in which a bit string representing a function block to be a next candidate is stored in a next candidate function block storage unit of the programming tool according to the present invention.
  • FIG. 1 is a flowchart showing the operation of a function block indication narrowing-down process of the programming tool according to the present invention.
  • FIG. 12 is a drawing example of the FB library by the function block candidate narrowing down process of the programming tool according to the present invention.
  • FIG. 13 is a flowchart showing the operation of the editor drawing process of the programming tool according to the present invention.
  • FIG. 14 is a drawing example of the FBD editor section by the eddy drawing processing of the programming tool according to the present invention.
  • FIG. 15 is an example of a preview drawing information storage unit and an FBD eddy drawing information storage unit by the eddy drawing process of the programming tool according to the present invention.
  • FIG. 16 is a diagram showing an operation by a conventional programming tool. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows the configuration and programming operation of the programming tool 10 of the present invention. It is a figure showing work.
  • FIG. 2 is a circuit block diagram of the programming tool 10 according to the present invention.
  • the programming tool 10 of the present invention includes a data processing unit 4 for processing data with a programming tool, a storage unit 5 for calculating data processing, and a programmable tool.
  • CTR Cathode Ray Tube
  • the FB library unit 2 that stores the FB 20 selected by the user, and the user uses the mouse 7 b Equipped with a preview display unit 3 that displays a drawing image when the FB 20 selected in the FB library 2 is clicked and dragged and dropped on the FBD editor 1.
  • a preview display unit 3 that displays a drawing image when the FB 20 selected in the FB library 2 is clicked and dragged and dropped on the FBD editor 1.
  • the FB 20 is a function block having an algorithm and data for realizing a certain function and concealing an internal structure, and has an input pin 21 as an input interface and an output pin 22 as an output interface.
  • reference numeral 4a denotes preview coordinate determination means for determining the coordinates at which the FB 20 selected by the FB selection operation is drawn on the preview display unit 3
  • 4b denotes the FB of the next candidate FB information storage unit 5b.
  • 5a is a preview drawing information storage unit that stores the coordinates of the FB 20 selected by the FB selection operation to be drawn on the preview display unit 3
  • 5b is the FB 20 that is selected by the FB selection operation.
  • a next candidate FB information storage unit for storing information of an F hereinafter, referred to as a next candidate FB
  • 5c stores the coordinates of the FBs and connection lines drawn on the FBD editor unit 1 when the user selects one or more FBs 20 by the FB selection operation and drags and drops them on the FBD editor unit 1.
  • 5 d is a bit string representing FB 20 that is the next selection candidate at a certain point in time (next candidate based on FB selection operation order based on FB selection operation)
  • B bit string storage unit, 5e is the attribute information of each FB provided by the manufacturer that provides the programming tool in advance (FB name, size, number of inputs, number of outputs, data type of input pin, data type of output pin)
  • FB information storage unit that stores the FB maximum size storage that stores the length of the column to which the selected FB belongs (virtual column of the preview display unit 3 described later) that has the largest horizontal size of the FB Department.
  • the preview coordinate determination means 4a is executed and the selected coordinate is executed.
  • the coordinates of the FB 20 drawn on the preview display unit 3 are calculated, and the coordinates are stored in the preview drawing information storage unit 5a.
  • next candidate function block determination process ST3 the next candidate function block determination means 4b is executed, and the next candidate FB information storage unit is previously determined. 5 Referring to the information for each FB 20 stored in b, a bit string representing the next candidate F ⁇ 20 for the F ⁇ 20 selected by the user operation ST 1 (the next candidate F ⁇ bit Is determined, and is stored in the next candidate F bit string storage unit 5d.
  • the number of bits (the number of digits) of the bit string is equal to the number of FB 20 provided by the manufacturer in the FB library unit 2, and each bit corresponds to each FB 20.
  • the bit value “1” means “is the next candidate FB”, and 0 means “is not the next candidate FB”.
  • the bit sequence becomes 0 1 1 ⁇ 0 0, and the most significant bits are A and the most significant bits. If the lower bits correspond to F, B, C, and D are the next candidate FBs, and A, E, and F are not the next candidate FBs.
  • the selected FB20 is drawn on the preview display section 3 based on the preview drawing information storage section 5a.
  • the FB library section drawing process ST5 based on the next candidate FB bit string in the next candidate FB bit string storage section 5d, the FB 20 which is the next candidate and the FB 20 which is not the next candidate are determined. In order to see the difference at a glance, redraw the FB library section 2 with different display states, such as using different background colors.
  • the user may want to restart the selection of the FB 20 from the beginning.
  • the preview drawing information clearing process ST6 causes the information of the preview drawing information storage section 5a to be executed. Is cleared (deleted), and the next candidate FB bit string clear processing ST 7 clears the next candidate FB bit string in the next candidate FB bit string storage unit 5 d (zero). Furthermore, the redrawing of the preview display section 3 based on the preview image information storage section 5a cleared in ST6, and the next candidate FB bit of the next candidate FB bit string storage section 5d cleared in ST7. By redrawing the FB library unit 2 based on the sequence, the preview display unit 3 and the FB library unit 2 display the FB in a state where the user has not selected the FB.
  • the FBD editing section ST8 draws the FBD editing section ST8.
  • the evening drawing means 4c is executed, and the figure drawn on the preview display section 3 is drawn on the FBD eddy evening section ⁇ .
  • the 'preview display unit and the FB library unit 2 display the FB in a state where the user has not selected FB.
  • details of the processes ST1 to ST5 when the user selects FB20 in the FB library unit 2 by clicking the mouse 7b will be described.
  • FIG. 4 is a diagram showing a state in which the attribute information of each FB 20 is stored in the FB information storage unit 5e.
  • the attribute information of FB20 is composed of FB name, size, number of inputs, number of outputs, data type of input pin, and data type of output pin.
  • the size is the vertical and horizontal length (unit: mm) of FB20, and the number of inputs and outputs are the number of input pins 21 and the number of output pins 22 of FB20, respectively.
  • Input pin 1 data type, input pin 2 data type, and input pin 3 data type correspond to the three input pin 21 data types, respectively.
  • the non-existent input pin corresponding to the non-existent input pin 21 will be "none".
  • input pin 1 data type input pin 1 data type
  • input pin 2 data type input pin 3 data type
  • output pin 1 data type, output pin 2 data type, and output pin 3 data type each have three output pins 22 data. Corresponds to type.
  • the data type of the input pin 21 and the output pin 22 is defined as the data type between the input pin 21 and the output pin 22 when the input pin 21 of the FB 20 is connected to the output pin of another FB 20.
  • the data types of the input pin 21 and the output pin 22 are predetermined by a manufacturer that provides a programming tool by the function of the FB20.
  • FIG. 5 is a flowchart showing the operation of the preview coordinate determination process ST2 by the preview coordinate determination means 4a.
  • FIG. 6 shows a preview display unit 3 used for explanation.
  • FIG. 7 shows the preview drawing information updated by the preview coordinate determination means 4a when the user selects the FB 20 in the example of FIG.
  • FIG. 5 is a diagram showing a storage unit 5a.
  • the preview display unit 3 is provided with an idea of a virtual column.
  • those FB20s belong to the same column.
  • the FB20s are connected in series to FBs in a certain column, the FB20 belongs to the next column.
  • function block B (hereinafter referred to as FB (B)) and FB (C) are in the first column, and FB (F) is in the second column.
  • FB (F) is connected in series to FB (B) and FB (C), and FB (C) is connected in parallel to FB (B).
  • the drawing coordinates of the FB 20 are stored in the odd columns, and the connection information is stored in the even columns between the drawing coordinates of the FB 20.
  • the drawing information at the column position ⁇ is stored in the (2 ⁇ 1) th column of the preview drawing information storage unit 5a.
  • the respective drawing coordinates are (2 ri ⁇ l) in the preview drawing information storage unit 5a. ) Stored in the 1st, 2nd, ⁇ ⁇ , mth rows of the column.
  • the FB rectangle processing ST11 refers to the preview drawing information storage unit 5a to calculate the start position for drawing the FB20 rectangle. I do. Further, by using the name of the FB 20 as a key and referring to the size of the selected FB 20 from the FB information storage unit 5e, determine the coordinates at which the rectangle of the FB 20 is drawn on the preview display unit 3. .
  • the coordinates of the FB (B) rectangle in FIG. 6 are (Ip, 0), (Ip + 1x1, 0), (Ip, Iy1), (Ip + IX1, Iy1).
  • the FB (B) rectangle is 25 in width and 20 in height from the FB information storage unit 5 e.
  • the coordinates of the rectangle are (10, 0), (35, 0), (10, 20), and (35, 20), which are stored in the preview information storage unit 5a.
  • the coordinates of the input pin 21 are calculated, and the result is stored in the preview information storage section 5a.
  • the relative coordinates of the input pins 21 in the y direction with respect to the upper side of the rectangle of the FB 20 are represented by m as the number of pins and I y 1 as (m ++ ), Lylml, (2 * lylm1), ⁇ ⁇ , (m * Iy1m1).
  • the number of input pins 21 is 1 from the FB information storage unit 5e, and the X coordinate of the left end of input pin 21 and the y coordinate of the upper side of the rectangle of B are both 0. Therefore, the coordinates of the input pin 21 are (0, 10) and (10, 10) and stored in the preview information storage unit 5a. (Fig. 7 T101)
  • the output pin section processing ST 13 calculates the coordinates of the output pin 22 and stores the result in the preview information storage section 5a.
  • the relative coordinates in the y direction of the output pin 22 with respect to the upper side of the rectangle of the FB 20 are as follows. I y 1 m 1, (2 * I y 1 m 1), ⁇ ⁇ ⁇ , (m * ly 1 m 1).
  • the number of output pins 22 is 1 from the FB information storage unit 5e
  • the X coordinate of the right side of the rectangle of FB (B) is 35
  • the y coordinate of the upper side of the rectangle of B is Is 1
  • the coordinates of the output pin 22 are (35, 10) and (45, 10), which are stored in the preview information storage unit 5a.
  • the selected FB20 is connected in series.
  • a specific key hereinafter referred to as the Shift key.
  • FIG. 6 is the case of F B (C).
  • the rectangle coordinates are determined as follows in “8 rectangle processing 5 11”.
  • the X coordinate of the start position for drawing the rectangle of FB 20 is assumed to be the same as the FB in the same row.
  • the y coordinate is a fixed distance Is from the lower side of the rectangle of the FB 20 selected immediately before the same row.
  • the X coordinate of the starting position for drawing the rectangle of FB (C) is I p as in FB (B), and the y coordinate is (y coordinate of the lower side of the rectangle of FB (B) + I s).
  • the size of the rectangle of FB (C) is 24 in length and 20 in width from the FB information storage unit 5e, if Is is 15, the coordinates of the rectangle of FB (C) are ( (10, 35), (30, 35), (10, 59), (30, 59) and are stored in the preview information storage section 5a. (Fig. 7 T102)
  • the X coordinate of the left end of the input pin 21 is equal to the X coordinate of the left end of the input pin 21 of the FB rectangle in the same row.
  • the y coordinate is the position where the input pins 21 are arranged at equal intervals in the FB rectangle.
  • the coordinates of the input pin 21 are (0, 43) and (10, 43), respectively.
  • And (0, 51), (10, 5 ⁇ ) which are stored in the preview information storage unit 5a (FIG. 7, T102).
  • the X coordinate of the left end of the output pin 22 is equal to the X coordinate of the right side of the FB rectangle.
  • the y-coordinate of the output pin 22 is a position where the output pins 22 are arranged at regular intervals in the FB rectangle.
  • the length of the output pin 22 is determined by the following calculation.
  • I X — max be the length of the column to which the selected F B belongs and whose horizontal dimension is the largest.
  • I X — max is stored in the FB maximum size storage unit 5 f in FIG.
  • the X coordinate of the right end of the output pin 22 of the FB of a certain column becomes equal, and when drawn on the preview display unit 3, the FB rectangle is on the left in any column. To make the shape easier to see.
  • the X coordinate of the left side of the rectangle of FB 20 is (the X coordinate of the right end of the output pin 22 in the front row + the length I p of the input pin 21), y Coordinates are calculated as 0.
  • the X coordinate of the left end of the input pin 2 1 is equal to the X coordinate of the right end of the output pin 22 in the front row, and the y coordinate is that the input pin 2 1 is FB 2
  • the X coordinate of the left end of the input pin 2 1 is equal to the X coordinate of the right end of the output pin 22 in the front row
  • the y coordinate is that the input pin 2 1 is FB 2
  • the X coordinate of the left end of the input pin 21 of FB (F) is the X coordinate value 45 of the right end of the output pin 22 of FB (B).
  • the coordinates of the input pin 21 are (45, 10.7), ( 5 5, 10.7) and (45, 21.3), (55, 21.3)
  • the X coordinate of the left end of the output pin 22 is equal to the X coordinate of the right side of the FB 20, and the y coordinate is the rectangular shape of the FB 20, which is the output pin 22. These are positions arranged at equal intervals.
  • the X coordinate of the output pin 22 of the FB (F) is the value 80 of the X coordinate on the right side of the FB (F).
  • the coordinates of the output pins 22 are (80, 8), (90, 8), (80, 16), (90, 16) and (80, 24), (90, 24), which are stored in the preview information storage unit 5a. (Fig.T1 0 5)
  • the drawing information obtained by the above-described drawing processing is stored in the preview drawing information storage unit 5a of the storage unit 5, and ⁇ 0 1, P 1 0 2, and P 1 0 5 in FIG. Corresponds to 101, T102, T105.
  • the order from the top of the FB on the preview display unit 3 in FIG. 6 corresponds to the row of the drawing information in FIG. 7, but the column is connected between the drawing information of the FB in FIG. Since the information is entered, in the preview drawing information storage unit 5a, the odd columns represent the drawing information of the FB, and the drawing coordinates of the FB in the nth column are the (2n-1) th column of the preview drawing information storage unit 5a.
  • the connection coordinates between the FB 20 in the n-th column and the FB 20 in the (n + 1) -th column of the FB are stored in the (2 n) -th column of the preview drawing information storage unit 5a.
  • the drawing information of the FB in the preview drawing information storage unit 5a includes a block name, block coordinates, input pin coordinates, and output pin coordinates.
  • a connection flag is provided.
  • connection flag is “0” for unconnected and “1” for connected.
  • the n-th FB connected in series is selected, and the above-mentioned FB drawing processing ST 11 1 to ST 13 preview drawing information storage unit 5a in the (2 n ⁇ 1) th column of the drawing information storage processing
  • the connection section processing ST 14 is performed.
  • connection part processing ST14 the flowchart in FIG. 8 and FIG. It will be described using FIG.
  • FIG. 9 shows the function block Z (2 input pins) with function block X (3 output pins) and function block Y (2 output pins) previously selected and in the parallel connection position.
  • FIG. 6 is a diagram showing an example in a case where the connection is selected in series.
  • Connection processing ST 14's connection processing is performed on the input pin 21 of the selected FB 20 and the output pin 22 of the previously selected FB 20, that is, in the case of the example in Fig. 9. , FB (Z) input pin 21 and FB (X), FB (Y) output pin 22.
  • connection section processing ST 14 For each combination of the input pin 21 and the output pin 22, the connection section processing ST 14 described later is performed, and the order of the combination of the input pin 21 and the output pin 22 to be processed is as follows. , Is determined as follows.
  • the target of input pin 2 1 is the first input pin 2 1 of FB (Z) (ZP 1 in the figure), and the target of output pin 2 2 is the first output pin 2 of X in the first row. (XP 1).
  • the output pin 22 that is the target of the input pin 21 (ZP 1 in the figure) is The output pin is XP 2 (J102), and the next target is XP3 (J103).
  • connection part processing ST 14 will be described with reference to the flowchart of FIG.
  • the data type of the input pin 21 (for example, Z P 1 in FIG. 9) to be processed is read from the FB information storage unit 5 e using the block name as a key.
  • the data type of the output pin 22 is read from the FB information storage unit 5e using the block name of the FB20 (for example, FB (X) in FIG. 9) to be processed as a key.
  • connection flag of the output pin 22 of the FB 20 to be processed is read from the preview drawing information storage unit 5a.
  • the data type of the input pin 21 obtained in ST 21 is compared with the data type of the output pin 22 obtained in ST 22. If the data types are the same, the input pin 21 and the output pin are compared. Since the pins can be connected, they are connected by the following pin segment coordinate determination processing ST25.
  • step ST 25 the coordinates of the line segment connecting the coordinates of the right end of the output pin 22 in the nth column and the coordinates of the left end of the input pin 21 in the (n + 1) th column are determined in ST 25. Is stored in the (2 n) th column of the preview drawing information storage unit 5a. Thereafter, the connection flag of the drawing information of the connected output pin 22 is updated from 0 to 1 (indicating that the connection has been completed) by the connection flag update process ST 26.
  • the first connection processing is performed on the first input pin 2 1 (F F 1) of FB (F) and the output pin 2 2 of F ⁇ ( ⁇ ). It is.
  • the data type of F ⁇ 1 is obtained from the 8 information storage unit 56 with the block name “F” as a key, and is found to be “integer”.
  • the data type of the output pin 22 of F B ( ⁇ ) is also an “integer”.
  • connection coordinates are calculated by the line segment coordinate determination process ST 25 between pins, and are stored in the first row and second column of the preview drawing information storage unit 5a. (Fig. 7 T103).
  • the input pin 21 to be connected is the second input pin 21 (referred to as FP 2) of the FB (F), and the ST 21 in FIG. Date and time ".
  • the output pin 22 is the output pin 22 of B, but the output pin 22 of B is already connected to the first input pin 21 of F by the processing described above. Has been updated to 1 and does not satisfy ST 23 requirements.
  • the output pin 22 to be connected is the output pin 22 of C.
  • the data type is “date” and the ST 2 3 in FIG. Satisfies the condition.
  • connection flag is 0, which satisfies the condition of ST24.
  • the preview drawing information format is determined by the pin segment coordinate determination process ST25.
  • the coordinates of the line segment are stored in the second row and the second column of the storage section 5a (FIG. 7, street 04).
  • FIG. Fig. 0 shows the next candidate function block information storage unit 5b, which stores the information of the FB 20 that is the next selection candidate when a certain FB 20 is selected, and provides a programming tool. It is provided in advance by the manufacturer that determines the data type and function of the output pin 22 of FB20.
  • Each bit of the bit string in FIG. 10 corresponds to A, B,..., F from the most significant bit, and the bit value ⁇ 1 ”means“ the next candidate FB ”, and“ 0 ”means“ Is not the next candidate FB. "
  • FIG. 11 is a flowchart showing the operation of the next candidate function block determination process ST3.
  • ST31 it is determined whether the user has selected FB20 by mouse click while holding down the SHIFT key in user operation ST1, and if it was selected without pressing it, the process of ST32 is performed. If it is pressed, the process of ST33 is performed.
  • ST32 is a case where FB20 is selected without pressing the Shift key.
  • the selected FB20 (referred to as FBI) is connected in series.
  • the bit string representing FB 20 as the next candidate obtained from the next candidate function block information storage unit 5 b becomes the next candidate FB bit string connected in series to FB 1 and becomes the next candidate.
  • ⁇ ST33 stored in the FB bit string storage unit 5d is a case where selection is performed while pressing the Shift key. In this case, the selected FBs (referred to as FB-3) are connected in parallel. .
  • FB-2 next candidate FB to be connected in series next will store FB 2 from the next candidate function block information storage unit 5b.
  • FB 3 Key the bit string obtained as key and FB 3 Is the logical sum of the bit sequence obtained as (bit sequence B it 1).
  • FB20 is selected by clicking the mouse while holding down the S hif 1: key (FB-4), the FB-2, FB-3, and FB-4 are connected in parallel in the row. Become.
  • next FB bit string connected in series next is the logical sum of the bit strings obtained from the next candidate function block information storage unit 5b using the block names FB_2, FB-3, and FB-4 as the key. In other words, it is the logical sum of the bit string obtained by using the above-mentioned Bit 1 and FB-4 as a key.
  • the next candidate FB bit string is the logical OR of the immediately preceding next candidate FB bit string and the next candidate FB bit string of the selected FB.
  • the value is stored in the next candidate FB bit string storage unit 5d.
  • drawing (redrawing) of the FB library section 2 is performed using the next candidate FB bit string in the next candidate FB bit string storage section 5d.
  • bit value of the next candidate FB bit string corresponds to “0” and the background of FB 20 is drawn by displaying the background in gray or shaded, and the bit value corresponds to “1”.
  • the background of FB20 is drawn by displaying the background in gray or shaded, and the bit value corresponds to “1”.
  • FB (C) is selected in the FB library section 2 in Fig. 1 and FB (D) is selected by clicking the FB while holding down the SHIFT key, the FB (C) is first selected,
  • the candidate FB bit string is “100000001” from the next candidate FB information storage unit 5b (see FIG. 10).
  • next candidate FB bit string is “01 1 ⁇ 0 0 J” from the next candidate FB information storage unit 5b.
  • the next candidate FB bit string is the logical sum of those bit strings ⁇ 0 1 1 0 1 ”.
  • the FBs that can be selected next are narrowed down, and the FBs that cannot be selected next are displayed in another color (in this embodiment, gray or hatched), so that the user can easily select the FB to be selected, eliminate mistakes in wiring incorrectly, and improve programming efficiency.
  • next candidate FB bit string clear processing ST 7 clears (all zeros) the next candidate FB bit string in the next candidate FB bit string storage unit 5d.
  • the preview display section 3 is redrawn by the above-described preview display section drawing processing ST4, but the preview drawing information storage section 5a Since there is no information in, nothing is drawn on the preview display section 3.
  • the FB library unit 2 is redrawn based on the bit string of the next candidate FB bit string storage unit 5 d cleared in ST 7, but the next candidate FB of the next candidate FB bit string storage unit 5 d is redrawn. Since the bit string is “000000”, the background of all FB20s is drawn in white.
  • the user sets the display of the preview display unit 3 and the FB library unit 2 in a state where the user has not selected FB 20.
  • the FB library unit 2 shown in FIG. The following describes the processing when an arbitrary FB 20 is dragged and dropped onto the display unit 1.
  • the FBD editor section drawing means 4c is executed, and the figure drawn on the preview display section 3 by ST2 or the like is displayed on the FBD editor section.
  • the preview display section 3 and the FB library section 2 are in a state where the user has not selected an FB by the same processing as when the De IE key is pressed in the user operation ST1 above It will be displayed in.
  • drawing coordinates are stored for each FB and connection (generically referred to as a “broadcast object”) in the FBD eddy section drawing information storage section 5c in FIG.
  • the preview drawing information stored in the preview drawing information storage unit 5a is stored in the FBD editor drawing information storage unit 5c for each object.
  • the X-max value is added to the value of the X coordinate of the preview drawing information storage unit 5a and stored so that the figure of the preview drawing information storage unit 5a does not overlap with the figure of the preview drawing information storage unit 5a.
  • the FBD editor 1 is redrawn based on the updated data in the FBD editor drawing information storage unit 5c.
  • Fig. 14 shows an example of the editor drawing process ST8, which already has F B (A) and F B
  • FIG. 11 is a diagram illustrating an example in which FB (C) is simply selected by a mouse click and dragged and dropped on FBD eddy section 1;
  • the FB 20 and the X-max value “1 0 0” are added to the X-coordinate value of the connection preview drawing information storage unit 5a, and the FBD editor It is stored in the drawing information section 5c for each intelligent object.
  • the FBD editor unit 1 is redrawn based on the updated FBD editorial drawing information storage unit 5c.
  • a program by FBD can be created by a simple operation.
  • a means is provided to align the FBs in a certain column to the left, so they are displayed in an easy-to-read manner.
  • the programming tool according to the present invention is suitable for being used in programming by a function block diagram of a programmable controller.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Description

プログラミングツール
技術分野
この発明は、 ファンクションブロックダイアグラム (Function Block Diagram:以下、 F B Dとする) によるプログラミングを行うプログラミング ツールに関するものである。 糸 書
背景技術
第 1 6國は、従来の技術による F B Dによるプログラミングツールの構成及びプロ グラミング動作を示した図であり、情報伝達部 1 06を介して接続されるプログラマ ブルコントローラ 1 09の F B Dをプログラミングツール 1 1 0で作成する動作に ついて説明する。
一般に、 F B Dによるプログラミングツール 1 1 0は、第 1 6図に示すよう にユーザが選択するファンクションブロック (Function Block:以下、 F Bと する) 1 2 0を格納した F Bライブラリ部 1 0 2と、選択した F B 1 2 0をド ラッグ &ドロップ (Drag & Drop) して結線する F B Dエディタ部 1 0 1 から 構成される。
F B I 2 0は、 ある機能を実現するアルゴリズムとデ一夕を持ち、 内部構造を 隠蔽化した機能ブロックであり、入力のインタフェースとして入力ピン 1 2 1 、 出力のインタフェースとして出力ピン 1 2 2を持つ。
従来の F B Dによるプログラミングツールでは、 F Bライブラリ部 1 02で「巳を
—つ選択し、選択した FBをマウス 1 07 bのドラッグ &ドロップ操作により、 F B Dエディ夕部 1の所望の位置に配置する。
配置後、その F B 1 20の入力ピン 1 2 1とそれ以前に配置された F B 1 20の出力 ピン 1 2 2あるいは、その F B I 2 0の出力ピン 1 2 .2とそれ以前に配置された F B 1 2 0の入力ピン 1 2 1の間を結線するために、 一方のピン (P i n) をマウス 1 0 7 bのクリック操作により選択し、さらに結線するもう一方のピンをマウス 1 0 7 の クリック操作により選択するなどして結線する。
この動作の繰り返しにより、 処理の流れを表現し、 プログラムを作成する。 従来のプログラミングツールでは、上記のように F B 1 2 0を選択し、 ドラ ッグ&ドロップ操作により、 F B Dエディタ部 1 0 1 に配置しては、 それ以前 に配置された F B 1 2 0と結線するという動作の繰り返しによりプログラム を作成するため、プログラム中の F Bの数だけのドラッグ &ドロップ操作と各 F Bに対する結線操作が必要であり、操作が非常に煩わしいという問題点があ つた。 発明の開示
本発明では、係る問題点を解決するためになされたもので、 簡易な操作によ り F B Dによるプログラムを作成できるプログラミングツールを提供するこ とを目的としている。 この目的を達成するために、 第 1の観点によれば、 ライブラリ形式に表示さ れているファンクションプロックを複数選択する選択手段と、この選択手段に より選択されたファンクションブロックを選択操作順に記憶する記憶手段と、 上記選択手段によリ選択した複数のファンクションブロックの選択確定によ り、確定された上記ファンクシヨンブロックを上記選択操作順に描画表示する 描画手段と、 を備えた。
また、 ファンクションブロックの選択時に、選択された上記フ ンクシヨン プロックをプレビュー表示するプレビュー手段を備えた。 また、 プレビュー表示の際に、 ファンクションブロックを表示する仮想的な 列を設け、該列内に表示するファンクションプロックの横の大きさの最大値を 用いて上記ファンクションブロックの出力ピンの長さを計算し、上記列内のフ アンクションプロックを左側に整列するものである。
また、 ファンクションブロックの選択、選択確定はライブラリ形式に表示さ れているファンクションブロックに対し、 マウスのクリック、 ドラッグ &ドロ ップにより行うものである。
また、 ファンクションブロックの選択時に、選択したファンクションプロッ クの次候補対象となるファンクションブロックを絞り込み、次候補対象のファ ンクシヨンブロック表示を異ならせるものである。
また、 ファンクションブロック個々に、該フアンクションプロックの入力ピ ン及び出力ピンのデータ型を予め有し、複数選択のファンクションプロック間 を上記データ型をもとに結線するものである。
また、 ファンクションブロックの選択時に、 所定のキー操作との組み合わせ で、 ファンクションブロックを並列に接続するものである。 図面の簡単な説明
第 1 図は、 この発明によるプログラミングツールのシステム構成図である。 第 2図は、 この発明によるプログラミングツールの回路プロック図である。 第 3図は、この発明によるプログラミングツールの動作を示すフローチヤ一 卜である。
第 4図は、この発明によるプログラミングツールの記憶部のファンクション プロック情報格納部にファンクションブロック情報が格納される様子を示す 図である。
第 5図は、この発明によるプログラミングツールのプレビュー処理の動作を 示すフローチャートである。 第 6図は、この発明によるプログラミングツールのプレビュー表示の例であ る。
第 7図は、この発明によるプログラミングツールの記憶部のプレビュー描画 情報格納部に描画情報が格納される様子を示す図である。
第 8図は、この発明によるプログラミングツールの自動結線処理の動作を示 すフローチヤ一卜である。
第 9図は、この発明によるプログラミングツールの自動結線処理におけるピ ンの処理順序を示す図である。
第 1 0図は、この発明によるプログラミングツールの次候補ファンクション ブロック格納部に次候補となるファンクションブロックを表すビット列が格 納される様子を示す図である。
第 Ί 1 図は、この発明によるプログラミングツールのファンクションブロッ ク候捕絞込み処理の動作を示すフローチャートである。
第 1 2図は、この発明によるプログラミングツールのファンクションブロッ ク候補絞込み処理による F Bライブラリの描画例である。
第 1 3図は、この発明によるプログラミングツールのエディタ描画処理の動 作を示すフローチヤ一卜である。
第 1 4図は、この発明によるプログラミングツールのエディ夕描画処理によ る F B Dエディタ部の描画例である。
第 1 5図は、この発明によるプログラミングツールのエディ夕描画処理によ るプレビュー描画情報格納部および F B Dエディ夕描画情報格納部の例であ る。
第 1 6図は、 従来のプログラミングツールによる動作を示す図である。 発明を実施するための最良の形態
第 1図は、本発明のプログラミングツール 1 0の構成及びプログラミング動 作を示す図である。
第 2図は、本発明によるプログラミングツール 1 0の回路プロック図である。 本実施の形態では、 プログラミングツール 1 0が、 プログラマブルコントロー ラ 9のプログラミングを対象としてプログラミングする場合を例に説明する。 第 1図、 第 2図で示すように、 本発明のプログラミングツール 1 0は、 プロ ダラミングツールでデータの処理を行なうデータ処理部 4と、データ処理の演 算に用いる記憶部 5と、プログラマブルコントローラ 9との間でデータの授受 を行なう情報伝達部 6と、 キーポード 7 a、 マウス 7 b等の入力装置 7と、 C R T ( Ca t hod e Ray Tu be)等の表示装置 8とを構成要素とし、表示装置 8上に、 選択した F B 2 0をドラッグ &ドロップして結線する F B Dエディ夕部 1、ュ —ザが選択する F B 2 0を格納した F Bライブラリ部 2、ユーザがマウス 7 b のクリック操作により F Bライブラリ 2で選択した F B 2 0を F B Dエディ 夕部 1 にドラッグ &ドロップしたときの描画イメージを表示するプレビュー 表示部 3を備える。 (以下、ユーザがマウス 7 bのクリック操作により F Bラ イブラリ 2で F B 2 0を選択する操作を. F B選択操作と定義する。 )
なお、 F B 2 0は、 ある機能を実現するアルゴリズムとデータを持ち、 内部 構造を隠蔽化した機能プロックであり、入力のインタフェースとして入力ピン 2 1、 出力のインタフェースとして出力ピン 2 2を持つ。
データ処理部 4において、 4 aは F B選択操作により選択された F B 2 0が プレビュー表示部 3で描画される座標を決定するプレビュー座標決定手段、 4 bは次候補 F B情報格納部 5 bの F B 2 0毎の情報を参照し、次候補となる F B 2 0を表すビッ卜列(次候補 F Bビット列という)を決定して次候補 F Bビ ッ卜列格納部 5 dに格納する次候補 F B決定手段、 4 cはユーザが選択した F B 2 0を F B Dエディ夕部 1 にドラッグ &ドロップした際に、 F B Dエディタ 描画情報格納部 5 cに格納されている F Bおよび結線の座標情報を基に F B Dエディタ部 1 に描画する F B Dエディ夕部描画手段である。 記憶部 5において、 5 aは F B選択操作により選択された F B 2 0がプレビ ユー表示部 3で描画される座標を格納するプレビュー描画情報格納部、 5 bは F B選択操作によりある F B 2 0が選択された際に、あらかじめプロダラミン グツールを提供するメーカにより F B 2 0毎に定められた次の選択候補とな る F (以下、 次候補 F Bという) の情報を格納する次候補 F B情報格納部、 5 cはユーザが F B選択操作により 1つ以上の F B 2 0を選択し、 F B Dェデ イタ部 1 にドラッグ &ドロップした際に、 F B Dエディタ部 1 に描画される F B及び結線の座標を格納する F B Dエディタ描画情報格納部、 5 dはある時点 での次の選択候補となる F B 2 0を表したビッ卜列(F B選択操作の操作順序 に応じて次候補 F B情報格納部を基に次候補 F B決定手段 4 bにより決定さ れる)を格納する次候補 F Bビッ卜列格納部、 5 eはあらかじめプロダラミン グツールを提供するメーカが提供する各 F Bの属性情報 (F B名称、 大きさ、 入力数、 出力数、 入力ピンのデータ型、 出力ピンのデータ型) を格納する F B 情報格納部、 5 f は遷択した F Bが属する列(後述するプレビュー表示部 3の 仮想列)で F Bの横の大きさが最大のものの長さを格納する F B最大サイズ格 納部である。 次に、本実施の形態の全体動作を、 第 3図のプログラミングツールの動作を 示すフローチヤ一卜を用いて説明する。
ユーザ操作 S T 1 においてユーザがマウス 7 bのクリック操作により、 F Bラ イブラリ部 2で F B 2 0を選択すると、プレビュー座標決定処理 S T 2におい て、 プレビュー座標決定手段 4 aを実行し、選択された F B 2 0がプレビュー 表示部 3で描画される座標が計算され、座標はプレビュー描画情報格納部 5 a に格納される。
次に、次候補ファンクションプロック決定処理 S T 3において、次候補ファ ンクシヨンブロック決定手段 4 bを実行し、あらかじめ次候補 F B情報格納部 5 bに格納された F B 2 0毎の情報を参照し、ユーザ操作 S T 1 にて選択した F Β 2 0に対して次候補となる F Β 2 0を表すビッ卜列 (次候補 F Βビッ卜 列) を決定し、 次候補 F Βビッ卜列格納部 5 dに格納する。
ここで、 ビット列のビット数 (桁数) は、 F Bライブラリ部 2でメーカよリ提 供される F B 2 0の数と等しく、 夫々のビットが各 F B 2 0に対応する。 また、 ビッ卜の値 「1」 は、 "次候補 F Bである" を意味し、 0は "次候補 F Bでない" を意味する。
例えば、 メーカより提供された F B 2 0が A、 B、 C D、 E、 Fであるとす ると、 ビッ卜列は 0 1 1 Ί 0 0のようになり、 最上位ビッ卜が A、 最下位ビッ 卜が Fに対応するとすると、 B、 C、 Dは次候補 F Bであり、 A、 E、 Fは次 候補 F Bでないということになる。
その後プレビュー表示部描画処理 S T 4において、プレビュー描画情報格納 部 5 aに基づいて、 選択した F B 2 0をプレビュー表示部 3に描画する。 最後に、 F Bライブラリ部描画処理 S T 5では、次候補 F Bビッ卜列格納部 5 dの次候補 F Bビッ卜列に基づいて、次候補となる F B 2 0と次候補となら ない F B 2 0の違いが一目で分かるよう、異なる背景色を使用する等、表示状 態を区別して F Bライブラリ部 2を再描画する。
ユーザが順次 F B 2 0を選択する操作を行っている間、 S T 1 〜 S T 5の処 理が繰り返され、第 1の F B選択→第 1の F Bのプレビュー表示部 3への表示 → 第 1 の F Bに接続可能な F Bの F Bライブラリ 2への強調表示→第 2の
8選択→ ' · · といった処理が繰り返される。
ユーザが F B 2 0の選択において、誤った F B 2 0を選択した場合や誤った 順序で F B 2 0を選択した場合などにおいて、 F B 2 0の選択を始めからやり 直したい場合がある。
この場合、 ユーザ操作 S T 1 において D e I e t eキーを押下すると、 プレビ ユー描画情報クリア処理 S T 6により、プレビュー描画情報格納部 5 aの情報 がクリァ (削除) され、 次候補 F Bビッ卜列クリァ処理 S T 7により、 次候補 F Bビット列格納部 5 dの次候補 F Bビット列をクリア (才一ルゼロ) する。 さらにまた、 S T 6でクリアされたプレビュー搐画情報格納部 5 aに基づく プレビュー表示部 3の再描画と、 S T 7でクリアされた次候補 F Bビッ卜列格 納部 5 dの次候補 F Bビッ卜列に基づく F Bライブラリ部 2の再描画により、 プレビュー表示部 3と F Bライブラリ部 2はユーザが F Bを未選択の状態で の表示とする。
ユーザがプレビュー表示部 3のプレビューを確認後、選択した F B 2 0を F B Dエディタ部 1 にドラッグ &ドロップ(最後に選択した F B )した場合には、 F B Dエディ夕部描画処理 S T 8において、 F B Dエディ夕部描画手段 4 cを 実行し、プレビュー表示部 3に描画されていた図を F B Dエディ夕部 Ί に描画 する。
さらに、 上記の S T 6、 S T 7の処理により、 'プレビュー表示部と F Bライブ ラリ部 2はユーザが F Bを未選択の状態での表示とする。 次に、ユーザがマウス 7 bのクリック操作により、 F Bライブラリ部 2で F B 2 0を選択する場合の処理 S T 1 ~ S T 5の詳細を説明する。
プレビュー座標決定手段 4 aによるプレビュー座標決定処理 S T 2の説明 に第 4図〜第 7図を用いる。
第 4図は、 F B情報格納部 5 eで各 F B 2 0の属性情報が格納される状態を 示す図である。
説明を簡単にするため、 例では入力数、 出力数の最大数を各々 3としている。 第 4図に示す通り、 F B 2 0の属性情報は、 F B名称、 大きさ、 入力数、 出力 数、 入力ピンのデータ型、 出力ピンのデータ型からなる。
大きさは F B 2 0の縦、 横の長さ (単位は m m ) であり、 入力数、 出力数はそ れぞれ F B 2 0の入力ピン 2 1の数、 出力ピン 2 2の数である。 入力ピン 1データ型、入力ピン 2データ型、入力ピン 3データ型はそれぞれ 3 本の入力ピン 2 1のデータ型に対応する。
入力ピン数が 3本未満の場合、存在しない入力ピン 2 1 に対応するデ一夕型 は "なし" となる。
例えば、 入力ピン数が 1本でそのデータ型が"整数"であれば、 入力ピン 1デ 一夕型、入力ピン 2デ一夕型、入力ピン 3データ型、は夫々 "整数"、 "なし"、 "なし" となる。
•出力ピン 2 2も入力ピン 2 1の場合と同様に、 出力ピン 1デ一夕型、 出力ピン 2デ一夕型、出力ピン 3デ一夕型はそれぞれ 3本の出力ピン 2 2のデータ型に 対応する。
入力ピン 2 1、 出力ピン 2 2のデータ型とは、 F B 2 0の入力ピン 2 1が他 の F B 2 0の出力ピンと結線された場合に、入力ピン 2 1 と出力ピン 2 2との 間で受け渡しされるデータの種類を表すものであり、整数( 1, 2, 3, ·' ·)、 実数 ( 1 . 2 5など) 、 文字列 (A B Cなど) 、 日時 (2 0 0 1 / 0 1 / 2 2 1 7 : 3 0 : 3 2 ) などがある。
入力ピン 2 1 、 出力ピン 2 2のデータ型は、 F B 2 0の機能によりプログラミ ングツールを提供するメーカによってあらかじめ定められる。
また、 結線される入力ピン 2 1 と出力ピン 2 2のデ一夕型が等しくなければ、 データの受け渡しが正しく行なわれないため、等しいデータ型を持つ入力ピン 2 1 と出力ピン 2 2の間のみ結線が可能である。
第 5図は、プレビュー座標決定手段 4 aによるプレビュー座標決定処理 S T 2の動作を表すフローチヤ一卜である。
第 6図は、 説明に使用するプレビュー表示部 3であり、 第 7図は、 第 6図の 例において、ユーザによる F B 2 0の選択時にプレビュー座標決定手段 4 aに より更新されるプレビュー描画情報格納部 5 aを示した図である。
本実施の形態では、 プレビュー表示部 3に仮想的な列の考えを設ける。 F B 2 0を並列に接続する場合、それらの F B 2 0は同じ列に属するものとし、 ある列の F Bに対して F B 2 0を直列に接続する場合、その F B 2 0は次列に 属するものとする。
第 6図の場合、 ファンクションブロック B (以下、 F B (B) と称す) 及び F B (C) が一列目、 F B ( F) が 2列目となる。
また、 F B ( F) は、 F B (B) 及び F B (C) に対して直列接続であり、 F B (C) は F B (B) に対して並列接続となる。
また、プレビュー表示部 3の図形とプレビュー描画情報格納部 5 aの対応は、 第 6図、第 7図の例の場合、第 6図の P 1 0 1 ~ P 1 0 5の各図形と第 7図の T 1 0 Ί 〜丁 1 0 5の各座標に対応する。
すなわち、 プレビュー描画情報格納部 5 aでは、奇数列に F B 2 0の描画座標 が格納され、 F B 2 0の描画座標の間の偶数列には結線情報が入るため、 プレ ビュー表示部 3の F B列位置 πの描画情報は、プレビュー描画情報格納部 5 a の (2 π— 1 ) 列目に格納される。
ま 、 プレビュー表示部 3の n列目での F B 2 0を上から 1 , 2, ···, ΓΤΊ番目 とすると、 夫々の描画座標は、 プレビュー描画情報格納部 5 aの (2 ri— l ) 列目の 1 , 2, ■■·, m行目に格納される。
次に、第 5図を用いてプレビュー座標決定処理 S T 2の動作について詳細に 説明する。
ユーザがマウス 7 bのクリック操作により F B 2 0を選択すると、 F B矩形 部処理 S T 1 1 にて、 プレビュー描画情報格納部 5 aを参照し、 F B 2 0の矩 形を描画する開始位置を計算する。 さらに、 F B 2 0の名前をキーにして F B 情報格納部 5 eより、選択された F B 2 0の大きさを参照し、 F B 2 0の矩形 がプレビュー表示部 3に描画される座標を決定する。
なお、 F B 2 0を選択する場合を、 最初の F B 2 0を選択する場合( F B 2 0 が何も選択されていない状態) 、 並列に接続する場合、 直列に接続する場合の 3通りに分けて説明する。
—番最初に F B 20を選択する場合、以前に選択された F B 20はないため、 入力ピン 2 1 、 出力ピン 22の長さを予め決めた長さ I pとすると、 入力ピン 2 1の長さ I pだけ原点から X軸方向にずれた位置 ( I p, 0) が矩形を描画 する開始位置となる。
F B情報格納部 5 eより、 F Bの矩形の大きさ (横, 縦) が( I x 1 , I y 1 ) であれば、 第 6図において F B (B) の矩形の座標は ( I p, 0) , ( I p + 1 x 1 , 0) , ( I p , I y 1 ) , ( I p + I X 1 , I y 1 ) となる。
F B (B) の入力ピン 2 1 の長さ I pを 1 0とすると、 F B情報格納部 5 eよ り、 F B (B) の矩形の大きさは横 25、 縦 2 0であるので、 F B (B) め矩 形の座標は ( 1 0, 0) , (35, 0) , ( 1 0, 20) , (35, 20) と なり、 プレビュー情報格納部 5 aに格納される。 (第 7図 T 1 01 )
次に、 入力ピン部処理 S T 1 2では、 入力ピン 2 1の座標を計算し、 プレビ ユー情報格納部 5 aに結果を格納する。
例えば、入力ピン 2 1が F B 20に等間隔で配置されるとすると、入力ピン 2 1の F B 20の矩形上辺に対する y方向の相対座標は、 ピンの数を m, I y 1 を(m+ Ί )で除した値を l y l'm l として、 l y l m l , (2 * l y l m 1 ), ■■·, (m * I y 1 m 1 ) となる。
第 6図の F B (B) の場合、 F B情報格納部 5 eより、 入力ピン 2 1 の数は 1 で、入力ピン 2 1の左終端の X座標、 Bの矩形上辺の y座標ともに 0であるの で、 入力ピン 2 1の座標は (0, 1 0) , (1 0, 1 0) となり、 プレビュー 情報格納部 5 aに格納される。 (第 7図 T 1 0 1 )
さらに、 出力ピン部処理 S T 1 3で、 出力ピン 2 2の座標を計算し、 プレビ ユー情報格納部 5 aに結果を格納する。
例えば、出力ピン 2 2も入力ピン 2 1 と同様に F B 20に等間隔で配置される とすると、 出力ピン 22の F B 20の矩形上辺に対する y方向の相対座標は、 I y 1 m 1 , ( 2 * I y 1 m 1 ) , ·■·, (m * l y 1 m 1 ) となる。
第 6図の F B (B) の場合、 F B情報格納部 5 eより、 出力ピン 2 2の数は 1 で、 F B (B) の矩形右辺の X座標が 3 5、 Bの矩形上辺の y座標が 0である ので、 出力ピン 2 2の座標は (3 5, 1 0) , (4 5, 1 0 ) となり、 プレビ ュ一情報格納部 5 aに格納される。 (第 7図 T 1 0 1 )
次に、 2通り目の並列接続の場合について説明する。
F B 2 0の選択時に、ユーザが単にマウスクリックにより選択する場合は、選 択された F B 2 0は直列に接続されるが、 F B 2 0の選択時に特定のキー (以 下、 S h i f tキーとして説明する)を押下しながらマウスクリックして選択 する場合、 選択した F B 2 0は並列に接続される。
第 6図の例では、 F B (C) の場合である。
この場合、 「 8矩形部処理5丁 1 1では、 矩形座標は次のよう決定される。 まず、 F B 2 0の矩形を描画する開始位置の X座標は同列の F Bと同じとする 開始位置の y座標は、同列の直前に選択された F B 2 0の矩形下辺からある一 定の距離 I sとする。
第 6図の場合、 F B (C) の矩形を描画する開始位置の X座標は F B (B) と 同じく I pであり、 y座標は(F B (B)の矩形下辺の y座標 + I s )となる。 また、 F B (C) の矩形の大きさは、 F B情報格納部 5 eより、 縦 2 4、 横 2 0であるから、 I sを 1 5とすると、 F B (C)の矩形の座標は(1 0, 3 5), ( 3 0 , 3 5) , ( 1 0 , 5 9) , (3 0, 5 9 ) となり、 プレビユー情報格 納部 5 aに格納される。 (第 7図 T 1 0 2 )
続いて、 入力ピン部処理 S T 1 2において、 まず、 入力ピン 2 1の左終端の X座標は、 同列の F B矩形の入力ピン 2 1の左終端の X座標と等しく、一番最 初に F Bを選択する場合と同様に、 y座標は入力ピン 2 1が F B矩形に等間隔 に配置される位置となる。
第 6図の場合、 F B (C) の入力ピン 2 1の左終端の X座標は、 F B (B) の 入力ピン 2 1の左終端の x座標と同じく 0である。
また、 「 8情報格納部56ょり、 F B (C) の入力ピン 2 1の数は 2であるの で、 入力ピン 2 1の座標はそれぞれ、 (0, 43) , ( 1 0, 43)及び(0, 5 1 ), ( 1 0, 5 Ί ) となり、 プレビュー情報格納部 5 aに格納される。 (第 7図 T 1 02 )
さらに、 出力ピン部処理 S T 1 3において、 出力ピン 22の左終端の X座標 は、 F B矩形の右辺の X座標と等しい。
また、 出力ピン 22の y座標は、 出力ピン 22が F B矩形に等間隔に配置され る位置となる。
よって、 出力ピン 2 2の長さは、 以下の計算により定める。
まず、選択した F Bが属する列で F Bの横の大きさが最大のものの長さを I X — m a xとする。
I X— m a xは、 第 2図の F B最大サイズ格納部 5 f に格納される。
選択した F Bの横の大きさを I X— c u rとすると、 I x— c u rが I x_m a xより小さいとき、 すなわち ( I X— c u r ) < (! y_m a x ) が成り立つと き、 出力ピン 2 2の長さ.を I p + ( I X— m a x- I x— c u r)とする。
第 6図の例の場合、 出力ピン 22の長さは、 I p + (F B ( B ) の横の大きさ 一 F B (C) の横の大きさ) = ( 1 0 + 25— 2 0) = 1 5となる。
従って、 出力ピン 2 2の右終端の X座標は (左終端の X座標 +線分の長さ) = 3 0+ 1 5 = 45となる (第 6図 P 1 02、 第 7図 T 1 02参照) 。
また、 ( I X— c u r ) > ( I X— m a X ) が成り立つときは、 選択した F Bの 出力ピン 2 2の長さは I pとするが、選択した F Bが属する列の他の F Bの出 力ピン 2 2の右終端の X座標に ( I x— c u r— I x— m a x ) を加え、 I x— c u rの値を I X— m a xとして F B最大サイズ格納部 5 f に格納する。
以上の処理により、ある列の F Bの出力ピン 22の右終端の X座標は等しくな り、 プレビュ一表示部 3に描画されたとき、 どの列においても F B矩形が左側 に整列し、 図形が見やすくなる。
次に、 直列接続の場合について説明する。
すでに 1列以上存在する場合において、単にマウスクリックにより F B 2 0を 選択すると、 選択した F B 2 0は直列に接続される。
第 6図の例では F B ( F) の場合である。
ド 8矩形部描画処理3丁 1 1 において、 F B 2 0の矩形の左辺の X座標は (前列の出力ピン 2 2の,右終端の X座標 +入力ピン 2 1の長さ I p) 、 y座標 は 0と計算される。
第 6図の場合、 F B (F) の矩形を描画する開始位置の X座標は (F B (B) の出力ピン 2 2の右終端の X座標 + l p) = (4 5 + 1 0) = 5 5となる。 ま た、 F B ( F) の矩形の大きさは F B情報格納部 5 eより、 縦 3 2、 横 2 5で あるから、 F B ( F) の矩形の座標は、 (5 5 , 0) , (8 0 , 0) , (5 5, 3 2), (8 0 , 3 2 ) となり、 プレビュー情報格納部 5 aに格納される。 (第 7図 T 1 0 5 )
続いて、入力ピン部処理 S T 1 2において、入力ピン 2 1の左終端の X座標 は、 前列の出力ピン 2 2の右終端の X座標と等しく、 y座標は、 入力ピン 2 1 が F B 2 0の矩形に等間隔に配置される位置である。
第 6図の場合、 F B (F) の入力ピン 2 1の左終端の X座標は、 F B (B) の 出力ピン 2 2の右終端の X座標の値 4 5となる。
また、 「 8情報格納部5 6ょリ、 F B ( F) の入力ピン 2 1の数は 2であるの で、 入力ピン 2 1 の座標はそれぞれ、 (4 5 , 1 0. 7 ) , ( 5 5 , 1 0. 7 ) 及び (4 5 , 2 1 . 3 ) , (5 5 , 2 1 . 3 ) となり、 プレビュー情報格納部
5 aに格納される。 (第 7図 T 1 0 5)
その後、 出力ピン部処理 S T 1 3において、 出力ピン 2 2の左終端の X座標 は、 F B 2 0の右辺の X座標と等しく、 y座標は出力ピン 2 2が F B 2 0,の矩 形に等間隔に配置される位置である。 第 6図の例の場合、 F B ( F) の出力ピン 2 2の X座標は、 F B ( F) の右辺 の X座標の値 8 0となる。
また、 「 8情報格納部5 6ょり、 F B (F) の出力ピン 2 2の数は 3であるの で、 出力ピン 2 2の座標はそれぞれ、 (8 0, 8) , (9 0, 8) 、 (8 0, 1 6) , (9 0 , 1 6) 及び (8 0 , 2 4) , (9 0, 2 4) となり、 プレビ ユー情報格納部 5 aに格納される。 (第 7図 T 1 0 5)
. 以上の描画処理による描画情報が記憶部 5.のプレビュー描画情報格納部 5 aに格納され、第 6図の Ρ Ί 0 1, P 1 0 2 , P 1 0 5は、第 7図の T 1 0 1 , T 1 0 2, T 1 0 5に対応する。
すなわち、第 6図のプレビュー表示部 3上での F Bの上からの順番と第 7図の 描画情報の行は対応するが、列については、 第 7図の F Bの描画情報の間に結 線情報が入るため、プレビュー描画情報格納部 5 aでは奇数列が F Bの描画情 報を表し、 n列目の F Bの描画座標は、 プレビュー描画情報格納部 5 aの (2 n— 1 ) 列目に格納され、 F Bの n列目の F B 2 0と (n + 1 ) 列目の F B 2 0の間の結線座標はプレビュー描画情報格納部 5 aの(2 n )列目に格納され る。 ,
第 7図に示すように、 プレビュー描画情報格納部 5 aの F Bの描画情報は、 プロック名、 ブロック座標、 入力ピン座標、 出力ピン座標であるが、 出力ピン 座標には、 ピンの座標の他、 接続フラグを設けている。
接続フラグの値は、 未結線で 「0」 、 結線済で 「 1」 としている。
これは以下に示す自動結線処理で使用する。
直列に接続する n列目の F Bが選択され、上述の F Bの描画処理 S T 1 1 ~ S T 1 3のプレビュー描画情報格納部 5 aの(2 n— 1 )列目への描画情報の 格納処理と、 プレビュー表示部 3への描画処理が終了したら、結線部処理 S T 1 4を行なう。
次に、結線部処理 S T 1 4について、第 8図のフローチヤ一卜及び第 9図を 用いて説明する。
第 9図は、 ファンクションブロック X (出力ピン数 3 ) 、 ファンクションブ ロック Y (出力ピン数 2 )が、以前に選択され、並列接続の位置にある状態で、 ファンクションブロック Z (入力 ン数 2 )を直列に接続するよう選択した場 合の例を示した図である。
結線部処理 S T 1 4の結線処理の対象となるのは、選択した F B 2 0の入力 ピン 2 1 と以前に遷択された F B 2 0の出力ピン 2 2すなわち、第 9図の例の 場合、 F B ( Z ) の入力ピン 2 1 と F B (X) 、 F B (Y) の出力ピン 2 2で ある。
結線処理の対象となる入力ピン 2 1 と出力ピン 2 2の組み合わせは、 (入力ピ ン 2 1の数 X出力ピン 2 1の数) だけある。
第 9図の例の場合、 入力ピン 2 1の数は、 (F B ( Z ) の入力ピン.数) = 2で あり、 出力ピン 2 2の数は、 (F B (X) の出力ピン数 3 + F B (Y) の出力 ピン数 2 ) = 5であるから、結線処理の対象となる入力ピン 2 1 と出力ピン 2 2の組み合わせは 2 X 5 = 1 0通りとなる。
これら夫々の入力ピン 2 1 と出力ピン 2 2の組み合わせに対して、後述する結 線部処理 S T 1 4の処理を行なうが、処理を行なう入力ピン 2 1 と出力ピン 2 2の組み合わせの順序は、 以下のように決定する。
まず、入力ピン 2 1 の対象を F B ( Z)の 1番目の入力ピン 2 1 (図中 Z P 1 ) とし、 出力ピン 2 2の対象は、 1行目の Xの 1番目の出力ピン 2 2 (X P 1 ) とする。
Z P 1 、 X P 1 に対する結線部処理 S T 1 4 (図中 J 1 0 1 ) が終わると、 次 に入力ピン 2 1 (図中 Z P 1 )の対象となる出力ピン 2 2を Xの 2番目の出力 ピン X P 2 ( J 1 0 2) 、 さらに次の対象を X P 3 ( J 1 0 3 ) とする。
F B (X) に対する処理が終了すると、 出力ピン 2 2の処理の対象を F B
(Y) とし、 Z P 1 に対して、 出力ピン 2 2 (Y P 1 , V P 2 ) との間で結線 部処理 S T 2 0 4 (J 1 0 4 , J 1 0 5 ) を行なう。
こうして、 F B (Z) の 1番目の入力ピン 2 1 (Z P 1 ) に対するすべて出力 ピン 2 2への処理が終了したら、結線部処理の対象となる入力ピン 2 1 を Zの 2番目の入力ピン 2 1 (Z P 2) とする。
Z P Ί と同様に、 X P 1, X P 2 , X P 3 , Y P 1 , Y P 2に対して処理を行 なう。 (J 1 0 6~J 1 1 0)
次に、結線部処理 S T 1 4の動作を第 8図のフローチヤ一卜を用いて説明す る。
第 8図の S T 2 1では、 処理対象となる入力ピン 2 1 (例えば、 第 9図の Z P 1 )のデータ型を、プロック名をキーとして F B情報格納部 5 eより読み取る。
S T 2 2では、 処理対象となる F B 2 0 (例えば、 第 9図の F B (X) ) の ブロック名をキーとして F B情報格納部 5 eより出力ピン 2 2のデータ型を 読み取る。
また、プレビュー描画情報格納部 5 aより処理対象となる F B 2 0の出力ピン 2 2の接続フラグを読み取る。
S T 2 3では、読み取った出力ピン 2 2の接続フラグの値が 1 (すでに他の 入力ピン 2 1 と接続済みであることを意味する)であれば、現在の処理対象で ある入力ピン 2 1、 出力ピン 2 2に対する処理を終了し、接続フラグの値が 0 (他の入力ピン 2 1 と未接続を意味する) であれば処理を継続する。
S T 2 4では、 S T 2 1で取得した入力ピン 2 1のデータ型と S T 2 2で取 得した出力ピン 2 2のデータ型を比較し、 データ型が等しければ、該入力ピン 2 1 と出力ピンは結線可能であるので、以下のピン間線分座標決定処理 S T 2 5により結線を行なう。
ピン間線分座標決定処理 S T 2 5では、 n列目の出力ピン 2 2の右終端の座 標と (n + 1 )列目の入力ピン 2 1の左終端の座標を結ぶ線分の座標をプレビ ュ一描画情報格納部 5 aの (2 n ) 列目に格納する。 その後、接続フラグ更新処理 S T 2 6により、結線された出力ピン 2 2の描 画情報の接続フラグを 0から 1 (接続済みを表す) に更新する。
第 6図の例の場合、 最初に結線処理の対象となるのは、 F B (F) の 1番目 の入力ピン 2 1 (F Ρ 1 とする) と、 F Β (Β) の出力ピン 2 2である。 F Ρ 1のデータ型は、 ブロック名 " F" をキ一として、 8情報格納部5 6ょ り求め、 "整数" であることがわかる。
F B (Β) の出力ピン 2 2のデ一夕型も、 同様に "整数" である。
F B (F) が選択される時点では、 F B (Β) の出力ピン 2 2は接続されてい ないので、プレビュー描画情報格納部 5 aのファンクションブロック Βの出力 ピン 2 2の接続フラグの値は 0である。
デ一夕型が等しく、接続フラグの値が 0であるので、これは第 8図の S T 2 3, S T 24の条件を満たす。
従って、ピン間線分座標決定処理 S T 2 5により、結線座標を計算し、プレビュ 一描画情報格納部 5 aの 1行 2列目に格納する。 (第 7図 T 1 0 3 ) 。
次に、 結線処理の対象になる入力ピン 2 1 は、 F B ( F) の 2番目の入力ピ ン 2 1 ( F P 2とする) で第 8図の S T 2 1 によりデ一夕型は、 "日時"であ る。
出力ピン 2 2で対象となるのは、 Bの出力ピン 2 2であるが、 Bの出力ピン 2 2は、 上述の処理により、 Fの 1番目の入力ピン 2 1 と結線済みで、 接続フラ グが 1 に更新されており、 S T 2 3の 件を満たさない。
次に結線処理の対象になる出力ピン 2 2は、 Cの出力ピン 2 2であるが、 F B 情報格納部 5 eより、 デ一夕型は "日付"であり、 第 8図の S T 2 3の条件を 満たす。
さらに、 このピンは結線されていないので、 接続フラグは 0であり、 S T 2 4 の条件を満たす。
したがって、 ピン間線分座標決定処理 S T 2 5により、 プレビュー描画情報格 納部 5 aの 2行 2列目に線分の座標が格納される (第 7図丁〗 0 4) 。
次に、次候補ファンクションブロック決定手段 4 bによる次候補ファンクシ ヨンブロック決定処理 S T 3について第 1 0図〜第 1 2図を用いて説明する。 第 Ί 0図は、次候補ファンクションブロック情報格納部 5 bであリ、 ある F B 2 0が選択された際、次の選択候補となる F B 2 0の情報を格納したもので、 プログラミングツールを提供するメーカが F B 2 0の出力ピン 2 2のデータ 型や機能からあらかじめ定めて提供するものである。
第 1 0図のビット列の各ビットは夫々、 最上位から A, B, …, Fに対応し、 ビッ卜の値 Γ 1」 は "次候補 F Bである" を意味し、 「 0」 は "次候補 F Bで ない" を意味する。
第 1 1図は、次候補ファンクションブロック決定処理 S T 3の動作を表すフ 口一チヤ一卜である。
S T 3 1では、ユーザがユーザ操作 S T 1で S h i f tキ一を押しながらマ ウスクリックにより F B 2 0を選択したかを判定し、押さずに選択したのであ れば S T 3 2の処理を行ない、 押しながらであれば S T 3 3の処理を行なう。
S T 3 2は、 S h i f tキーを押さずに F B 2 0を選択した場合であるが、 この場合、 選択された F B 2 0 ( F B I とする) は直列に接続される。
F B 1が n列目に配置されるとすると、 n列目には F B 1のみ配置される。 F B 1の F B名称をキーとして、次候補ファンクションプロック情報格納部 5 bから取得した次候補となる F B 2 0を表すビッ卜列が、 F B 1 に直列接続さ れる次候補 F Bビット列となり、次候補 F Bビット列格納部 5 dに格納される < S T 3 3は、 S h i f tキ一を押しながら選択した場合であるが、この場合、 選択された F B ( F B— 3とする) は並列に接続される。
F B_3が配置される n列目にすでにすでに F B ( F B— 2とする) があると すると、次に直列接続される次候補 F Bは、次候補ファンクションプロック情 報格納部 5 bから F B 2をキ一として取得したビット列と F B 3をキー として取得したビッ卜列の論理和 (ビッ卜列 B i t 1 とする) となる。
さらに S h i f 1:キ一を押しながらマウスクリックにより F B 2 0を選択 すると (F B— 4とする) 、 列内には、 F B— 2, F B— 3 , F B— 4が並列 接続された状態となる。
この場合,次に直列接続される次候捕 F Bビット列は、 次候補ファンクション ブロック情報格納部 5 bから F B _ 2、 F B— 3、 F B— 4のブロック名をキ —として取得したビット列の論理和、すなわち上記の B i t 1 と F B— 4をキ 一として取得したビッ卜列の論理和となる。
このように、 S h i f tキ一を押しながら F B 2 0を選択した場合、次候補 F Bビッ卜列は、直前の次候補 F Bビッ卜列と選択された F Bの次候補 F Bビッ 卜列の論理和となり、 次候補 F Bビッ卜列格納部 5 dにその値が格納される。 プレビュー表示部描画処理 S T 4では、上述のプレビュー座標決定処理 S T
2により決定され、プレビュー描画情報格納部 5 aに格納された座標情報に基 づいて、 選択された F B 2 0をプレビュー表示部 3に描画する。
F Bライブラリ部描画処理 S T 5では、次候補 F Bビット列格納部 5 dの次 候補 F Bビッ卜列を用いて、 F Bライブラリ部 2の描画 (再描画) が行なわれ る。
再描画では、 次候補 F Bビッ卜列のビッ卜の値が「 0」 に対応する F B 2 0の 背景を灰色或いは網掛け等で表示することにより描画し、 ビットの値が 「 1」 に対応する F B 2 0の背景を白色で描画する。
例えば、 第 1図の F Bライブラリ部 2で F B ( C ) を選択後、 S h i f tキ —を押しながら F Bをマウスクリックにより F B ( D ) を選択した場合、 まず F B ( C )の選択により、次候補 F Bビット列は次候補 F B情報格納部 5 b (第 1 0図参照) から 「 1 0 0 0 0 1」 となる。
また、 S h i f tキーを押しながら F B ( D ) を選択した場合の次候補 F Bビ ッ卜列は、 次候補 F B情報格納部 5 bより 「0 0 1 Ί 0 0 J であるので、 この 場合の次候補 F Bビット列は、 それらのビッ卜列の論理和 Π 0 1 1 0 1」 と なる。
従って、 F Bライブラリ部描画処理 S T 5による F Bライブラリ部 2の再描画 では、 F B (A) , F B (C) , F B (D) , F B ( F) の背景を白色、 F B (B) , F B (E) の背景を灰色で描画する。 (第 1 2図参照)
つまり、 F B選択時に、 次に選択しうる F Bを絞り込み、 次に選択すること ができない F Bに別の色 (本実施の形態では、 灰色または網掛け等) で表示す るので、ユーザが次に選択する F Bを選択しやすく、 間違って配線するミスも 無くなり、 プロダラミング作業効率が向上する。
次にユーザ操作 S T 1 において、 D e I e t eキ一を押下された場合の処理
(S T 6 , S T 7 , S T 4 , S T 5) について説明する。
プレビュー描画情報クリア処理 S T 6において、プレビュー描画情報格納部 5 aの情報がすべてクリア (削除) される。
さらに、次候補 F Bビッ卜列クリァ処理 S T 7により、次候補 F Bビッ卜列 格納部 5 dの次候補 F Bビット列がクリア (オールゼロ) される。
次に S T 6でクリアされたプレビュー描画情報格納部 5 aに基づいて、上記 のプレビュー表示部描画処理 S T 4により、プレビュー表示部 3の再描画が行 なわれるが、 プレビュー描画情報格納部 5 aには情報がないため、 プレビュー 表示部 3には何も描画されていない状態となる。
また、 S T 7でクリアされた次候補 F Bビット列格納部 5 dのビット列に基 づいて、 F Bライブラリ部 2の再描画が行なわれるが、次候補 F Bビッ卜列格 納部 5 dの次候補 F Bビッ卜列は「 0 0 0 0 0 0」 であるので、 すべての F B 2 0の背景は白色で描画される。
以上の処理により、ユーザがプレビュー表示部 3、 F Bライブラリ部 2とも にユーザが F B 2 0を未選択の状態の表示とする。
次にユーザ操作 S T 1 において、第 1 図の F Bライブラリ部 2から F B Dェ ディ夕部 1 に任意の F B 2 0をドラッグ &ドロップ操作した場合の処理につ いて説明する。
第 3図に示すように、 この場合、 F B Dエディタ部描画処理 S T 8において、 F B Dエディタ部描画手段 4 cを実行し、 S T 2等によりプレビュー表示部 3 に描画されていた図を F B Dエディ夕部 1 へ描画後、上記のユーザ操作 S T 1 において D e I e t eキ一を押下された場合の処理と同様の処理により、プレ ビュー表示部 3と F Bライブラリ部 2をユーザが F Bを未選択の状態での表 示とする。
F B Dエディ夕部描画処理 S T 8について、第 1 3図のフローチヤ一卜、第 1 4図、 第 1 5図を用いて詳細に説明する。
F B Dエディ夕部 1の描画情報は、第 1 5図の F B Dエディ夕描画情報格納 部 5 cに F B、 結線毎 (総称して才ブジェク卜と呼ぶ) に描画座標が格納され る。
S T 4 1 において、すでに F B Dエディ夕部 1 に描画されている F B 2 0の 最右端の X座標すなわち F B Dエディ夕描画情報格納部 5 cにおいて X座標 の最大値 (X— m a xとする) を求める。 (第 1 4図、 第 1 5図 x_m a x参 照)
S T 4 2では、プレビュー描画情報格納部 5 aに保持されたプレビュー描画 情報を才ブジェク卜毎に F B Dエディタ描画情報格納部 5 cに格納するが、 F B Dエディ夕部 1 にすでに描画されている図とプレビュー描画情報格納部 5 aの図が重ならないよう、プレビュー描画情報格納部 5 aの X座標の値に X— m a xを加えて格納する。
S T 4 3では、更新された F B Dエディ夕描画情報格納部 5 cのデータを基 に F B Dエディタ部 1 を再描画する。
第 1 4図は、 エディタ描画処理 S T 8の例であり、 すでに F B (A) , F B
( B), F B (C)が描画されている状態で、 F Bライブラリ部 2で F B ( F), F B ( C ) を単にマウスクリックにより選択し、 F B Dエディ夕部 1 にドラッ グ&ドロップした場合の例を示した図である。
S T 4 1 において、 X— m a xを求めるが、 この例では F B ( C ) の出力ピ ン 2 2の右終端の X座標 Γ 1 0 0 J が X— m a Xとなる。
S T 4 2では、第 Ί 5図に示すように F B 2 0、結線のプレビュー描画情報格 納部 5 aの X座標の値にそれぞれ X— m a xの値 「 1 0 0」 を加えて、 F B D エディタ描画情報部 5 cに才ブジェク卜毎に格納する。
S T 4 3では、更新された F B Dエディ夕描画情報格納部 5 cを基に、 F B D エディタ部 1 を再描画する。
ところで上記説明では、本発明を F B Dによるプログラミングツールに利用す る場合について述べたが、その他のプログラミングツールにも利用できること は言うまでもない。 本実施の形態によれば、簡易な操作により F B Dによるプログラムを作成す ることができる。
' また、 F B選択時にドラッグ &ドロップ時の描画イメージをプレビューウイ ンドウに表示する手段を設けたので、プログラミングしている状態が一目でわ かる。
また、 ある列での F Bを左側に整列する手段を設けたので、 見やすく表示さ れる。
また、 F B選択時に、 次に選択しうる F Bを絞り込み、 それらの表示を異な らせることにより、 ユーザが次に選択する F Bを選択しやすく、選択ミスを防 止することができる。
さらにまた、 F B選択時に特定のキーとの組み合わせで、 並列接続を可能と する手段を設けたので、単純な直列接続のプログラミングだけでなく、並列接 続も組み合わせた複雑なプログラミングも行うことができる。 産業上の利用可能性
以上のように、本発明にかかるプログラミングツールは、 プログラマブルコ ン卜ローラのファンクションブロックダイアグラムによるプログラミングに おいて用いられるのに適している。

Claims

請 求 の 範 囲
1 . ライブラリ形式に表示されているファンクションブロックを複数選択す る選択手段と、
この選択手段により選択されたファンクションブロックを選択操作順に記 憶する記憶手段と、 、
上記選択手段により選択した複数のファンクションブロックの選択確定に より、確定された上記ファンクシヨンプロックを上記選択操作順に描画表示す る描画手段と、
を備えたプログラミングツール。
2 . ファンクションブロックの選択時に、選択された上記ファンクションプ 口ックをプレビュー表示するプレビュー手段を備えたことを特徴とする請求 の範囲 1 に記載のプログラミングツール。
3 . プレビュー表示の際に、 ファンクションブロックを表示する仮想的な列 を設け、該列内に表示するファンクションブロックの横の大きさの最大値を用 いて上記ファンクションブロックの出力ピンの長さを計算し、上記列内のファ ンクションブロックを左側に整列することを特徴とする請求の範囲 2に記載 のプロダラミングツール。
4 . ファンクションブロックの選択、選択確定はライブラリ形式に表示され ているファンクションブロックに対し、 マウスのクリック、 ドラッグ &ドロッ プにより行うことを特徴とする請求の範囲 1 または 2に記載のプロダラミン グツール。
5 . ファンクションブロックの選択時に、選択したファンクションブロック の次候補対象となるファンクションプロックを絞り込み、次候補対象のファン クションブロック表示を異ならせることを特徴とする請求の範囲 1 または 2 に記載のプログラミングツール。
6 . ファンクションプロック個々に、該ファンクションブロックの入力ピン 及び出力ピンのデータ型を予め有し、複数選択のファンクションプロック間を 上記データ型をもとに結線することを特徴とする請求の範囲 1 または 2に記 載のプログラミングツール。
7 . ファンクションブロックの選択時に、所定のキー操作との組み合わせで、 ファンクションブロックを並列に接続することを特徴とする請求の範囲 1 に' 記載のプログラミングツール。
PCT/JP2001/002670 2001-03-29 2001-03-29 Outil de programmation WO2002079886A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2003-7008579A KR100524361B1 (ko) 2001-03-29 2001-03-29 프로그램 툴
PCT/JP2001/002670 WO2002079886A1 (fr) 2001-03-29 2001-03-29 Outil de programmation
US10/451,993 US7340683B2 (en) 2001-03-29 2001-03-29 Programming tool
JP2002577655A JP4122974B2 (ja) 2001-03-29 2001-03-29 プログラミングツール
DE10197097T DE10197097B4 (de) 2001-03-29 2001-03-29 Programmierwerkzeug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2001/002670 WO2002079886A1 (fr) 2001-03-29 2001-03-29 Outil de programmation

Publications (1)

Publication Number Publication Date
WO2002079886A1 true WO2002079886A1 (fr) 2002-10-10

Family

ID=11737186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/002670 WO2002079886A1 (fr) 2001-03-29 2001-03-29 Outil de programmation

Country Status (5)

Country Link
US (1) US7340683B2 (ja)
JP (1) JP4122974B2 (ja)
KR (1) KR100524361B1 (ja)
DE (1) DE10197097B4 (ja)
WO (1) WO2002079886A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327263A (ja) * 2004-04-13 2005-11-24 Omron Corp 制御システム設定装置
JP2007011713A (ja) * 2005-06-30 2007-01-18 Jtekt Corp プログラマブルコントローラの編集装置
US7272458B2 (en) 2004-04-13 2007-09-18 Omron Corporation Control system setting device
JP2010160582A (ja) * 2009-01-06 2010-07-22 Mitsubishi Electric Corp Plcシステム構築支援装置
WO2013094067A1 (ja) * 2011-12-22 2013-06-27 三菱電機株式会社 システム構築支援装置
WO2015132971A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4731149B2 (ja) * 2004-10-06 2011-07-20 任天堂株式会社 情報処理装置および情報入力プログラム
US8418128B2 (en) * 2006-06-29 2013-04-09 Honeywell International Inc. Graphical language compiler system
DE102006044141A1 (de) * 2006-09-15 2008-04-03 Dspace Digital Signal Processing And Control Engineering Gmbh Einrichtung und Verfahren zur Konfiguration eines Steuerungssystems
KR101038882B1 (ko) 2007-05-31 2011-06-02 미쓰비시덴키 가부시키가이샤 제어 시스템 엔지니어링 장치
US8570327B2 (en) * 2008-11-14 2013-10-29 General Electric Company Systems and methods involving graphically displaying control systems
DE112009004315B4 (de) * 2009-02-04 2017-03-09 Mitsubishi Electric Corporation Leiterprogramm-Editiervorrichtung
DE102009037962B4 (de) * 2009-08-18 2013-07-18 Netstal-Maschinen Ag Verfahren und Steuereinrichtung zur Einstellung eines Verfahrensablaufs bei einer Kunststoff verarbeitenden Maschine
US20130304448A1 (en) * 2012-05-08 2013-11-14 Dspace Digital Signal Processing And Control Engineering Gmbh Configuration device for configuring a model of a technical system
WO2014128920A1 (ja) * 2013-02-22 2014-08-28 三菱電機株式会社 システム開発装置、方法およびプログラム
EP2827240A1 (en) * 2013-07-17 2015-01-21 ABB Technology AG Method for generating control-code by a control-code-diagram
WO2017062796A1 (en) 2015-10-09 2017-04-13 Fisher-Rosemount Systems, Inc. System and method for providing interlinked user interfaces corresponding to safety logic of a process control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106380A (ja) * 1994-10-03 1996-04-23 Toshiba Corp プログラム作成装置及び方法並びにプログラムを取り扱う制御装置
JPH11161305A (ja) * 1997-09-25 1999-06-18 Fuji Electric Co Ltd プログラマブルコントローラのプログラミング装置、並びに配置・結線方法、及び記録媒体
JP2001075790A (ja) * 1999-08-31 2001-03-23 Digital Electronics Corp エディタ装置およびエディタプログラムを記録した記録媒体

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO171240C (no) * 1985-04-25 1993-02-10 Bbc Brown Boveri & Cie Programmeringsanordning for en lagerprogrammerbar styring
US5481740A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing autoprobe features in a graphical data flow diagram
US5034899A (en) * 1986-07-07 1991-07-23 Bbc Brown Boveri Ag Software tool for automatically generating a functional-diagram graphic
US5168441A (en) * 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
JP2969798B2 (ja) 1990-05-31 1999-11-02 株式会社安川電機 フロー図作成装置
US5301301A (en) * 1991-01-30 1994-04-05 National Instruments Corporation Polymorphic dataflow block diagram system and method for programming a computer
JPH05181510A (ja) 1992-01-06 1993-07-23 Hitachi Ltd プログラマブルコントローラにおけるプログラミング装置の画面表示方法
JPH05233240A (ja) 1992-02-19 1993-09-10 Mitsubishi Electric Corp ソフトウェア開発支援システム
US5408603A (en) * 1992-03-31 1995-04-18 Dow Benelux N.V. Global process control information system and method
US5487144A (en) * 1992-12-01 1996-01-23 Yokogawa Electric Corporation Scheduling system
JPH06337909A (ja) 1993-05-31 1994-12-06 Masane Suzuki 光学システム設計装置
JPH0793007A (ja) 1993-09-28 1995-04-07 Fanuc Ltd シーケンス・プログラムの表示方式
JPH07104903A (ja) 1993-10-08 1995-04-21 Ricoh Co Ltd 操作表示部の制御装置
US5506952A (en) * 1994-01-03 1996-04-09 International Business Machines Corporation Method and system for guiding the formation of a correctly structured instruction for data processing systems
US5564004A (en) * 1994-04-13 1996-10-08 International Business Machines Corporation Method and system for facilitating the selection of icons
JPH08241185A (ja) 1994-11-03 1996-09-17 Motorola Inc 統合型試験および測定手段ならびにグラフィカル・ユーザ・インタフェースを採用する方法
US5867400A (en) * 1995-05-17 1999-02-02 International Business Machines Corporation Application specific processor and design method for same
US5754179A (en) * 1995-06-07 1998-05-19 International Business Machines Corporation Selection facilitation on a graphical interface
JP3556336B2 (ja) 1995-07-26 2004-08-18 富士電機ホールディングス株式会社 プログラムの作成装置及び作成方法
US5781192A (en) * 1996-01-16 1998-07-14 Canon Information Systems, Inc. Data transfer system
JPH09230913A (ja) 1996-02-26 1997-09-05 Matsushita Electric Works Ltd プログラマブルコントローラのプログラミングツール
US6035106A (en) * 1997-04-28 2000-03-07 Xilinx, Inc. Method and system for maintaining hierarchy throughout the integrated circuit design process
US6191798B1 (en) * 1997-03-31 2001-02-20 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters
JP3369900B2 (ja) 1997-04-25 2003-01-20 株式会社日立製作所 Pcのプログラミング装置
KR100224379B1 (ko) * 1997-05-29 1999-10-15 박호군 공정 제어 알고리즘 생성 방법
JPH1195819A (ja) 1997-09-25 1999-04-09 Fuji Electric Co Ltd プログラマブルコントローラのプログラミング装置、並びに結線方法、及び記録媒体
JP2000047857A (ja) * 1998-07-27 2000-02-18 Yamatake Corp イベント駆動型ファンクションブロックのプログラミング方法とプログラム記録媒体
JP4245811B2 (ja) 1998-07-30 2009-04-02 三菱電機株式会社 ラダー回路編集装置
US6738388B1 (en) * 1998-09-10 2004-05-18 Fisher-Rosemount Systems, Inc. Shadow function block interface for use in a process control network
JP3827051B2 (ja) 1999-03-26 2006-09-27 オムロン株式会社 ツール装置及びネットワークシステム構築方法並びに記録媒体
US7093192B2 (en) * 1999-07-30 2006-08-15 Microsoft Corporation Establishing and displaying dynamic grids
US6772017B1 (en) * 2000-01-20 2004-08-03 Fisher-Rosemount Systems, Inc. Tool for configuring and managing a process control network including the use of spatial information
JP2001356934A (ja) * 2000-03-02 2001-12-26 Texas Instr Inc <Ti> ハードウェアシステムとインタラクトするソフトウェアシステムの構成方法およびデジタルシステム
US20020054149A1 (en) * 2000-03-10 2002-05-09 Genise Ronald G. System configuration editor with an iconic function sequencer
US6370491B1 (en) * 2000-04-04 2002-04-09 Conoco, Inc. Method of modeling of faulting and fracturing in the earth
US20020124230A1 (en) * 2001-01-04 2002-09-05 Zhen Cai Timing optimization for integrated circuit design
US6931288B1 (en) * 2001-04-16 2005-08-16 Rockwell Automation Technologies, Inc. User interface and system for creating function block diagrams
US8196056B2 (en) * 2001-07-24 2012-06-05 The Mathworks, Inc. Handling parameters in block diagram modeling
US6968472B2 (en) * 2002-04-22 2005-11-22 Silicon Labs Cp. Inc. Serial data interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106380A (ja) * 1994-10-03 1996-04-23 Toshiba Corp プログラム作成装置及び方法並びにプログラムを取り扱う制御装置
JPH11161305A (ja) * 1997-09-25 1999-06-18 Fuji Electric Co Ltd プログラマブルコントローラのプログラミング装置、並びに配置・結線方法、及び記録媒体
JP2001075790A (ja) * 1999-08-31 2001-03-23 Digital Electronics Corp エディタ装置およびエディタプログラムを記録した記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327263A (ja) * 2004-04-13 2005-11-24 Omron Corp 制御システム設定装置
US7272458B2 (en) 2004-04-13 2007-09-18 Omron Corporation Control system setting device
JP2007011713A (ja) * 2005-06-30 2007-01-18 Jtekt Corp プログラマブルコントローラの編集装置
JP4556787B2 (ja) * 2005-06-30 2010-10-06 株式会社ジェイテクト プログラマブルコントローラの編集装置
JP2010160582A (ja) * 2009-01-06 2010-07-22 Mitsubishi Electric Corp Plcシステム構築支援装置
WO2013094067A1 (ja) * 2011-12-22 2013-06-27 三菱電機株式会社 システム構築支援装置
WO2015132971A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置
JP5829780B1 (ja) * 2014-03-07 2015-12-09 三菱電機株式会社 プログラミング装置
US9606776B2 (en) 2014-03-07 2017-03-28 Mitsubishi Electric Corporation Programming device

Also Published As

Publication number Publication date
JP4122974B2 (ja) 2008-07-23
DE10197097T5 (de) 2004-04-15
US7340683B2 (en) 2008-03-04
JPWO2002079886A1 (ja) 2004-07-22
DE10197097B4 (de) 2012-02-23
KR20030078874A (ko) 2003-10-08
KR100524361B1 (ko) 2005-10-26
US20050102651A1 (en) 2005-05-12

Similar Documents

Publication Publication Date Title
WO2002079886A1 (fr) Outil de programmation
CA2795183C (en) Temporary formatting and charting of selected data
US7719534B2 (en) Object association in a computer generated drawing environment
US20090319948A1 (en) Automated editing of graphics charts
JPH06105455B2 (ja) 製造工程計画を生成するための方法及びシステム
TW201508428A (zh) 編輯程式用之程式
JP2000003384A5 (ja)
JP5183571B2 (ja) 回路図編集装置および回路図編集プログラム
JP4290717B2 (ja) 業務処理フロー図作成編集支援システムおよび支援プログラム
JP2012014560A (ja) 図形編集プログラム,図形編集方法及び図形編集装置
JP2009026160A (ja) 階層データ表示プログラム,階層データ表示方法,階層データ表示装置
JPS6282468A (ja) 対話型図形認識処理システム
JPH01205273A (ja) 図面管理方法及び装置
JP2749041B2 (ja) データベースの編集方法
JPH1125149A (ja) 記録媒体、図面作成方法、および図面作成装置
JP4207910B2 (ja) 表の表示制御装置、表の表示制御方法及びプログラムを記録した記録媒体
JP2598153B2 (ja) 図面管理方法及びその装置
JP3871281B2 (ja) 引出線自動設定方法およびそのための引出線自動設定装置
JP2000250404A (ja) 地図表示方法及び記録媒体ならびに地図表示装置
JP3142191B2 (ja) 図形処理装置
CN111274344A (zh) 对各弧段进行有规律的取舍的多目标缓冲区合并方法
JP3047851B2 (ja) 図形の寸法値表示装置及び方法
JPH0830678A (ja) 工程管理処理装置
JP3407424B2 (ja) Cad/cam装置
JPH0250264A (ja) 木構造図の作成装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2002 577655

Country of ref document: JP

Kind code of ref document: A

AK Designated states

Kind code of ref document: A1

Designated state(s): DE JP KR US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1020037008579

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 10451993

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020037008579

Country of ref document: KR

RET De translation (de og part 6b)

Ref document number: 10197097

Country of ref document: DE

Date of ref document: 20040415

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10197097

Country of ref document: DE

WWG Wipo information: grant in national office

Ref document number: 1020037008579

Country of ref document: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607