SoftPLC Corporation History of changes to TOPDOC NexGen Version number eplanation, for example: 1.2.05 02 16 ^ ^ ^ | | | | | day | | | month | year ????? ------------ + Added "Cancel" support to upload. Added a "processing activity" panel with a progress bar re-winding over and over while doing either a local APP Save or a remote APP upload. 1.4.070622 ------------ + Ladder Section is displayed above the ladder panel. Use your Program Navigator to view or go to all Sections, and your Rung Comment editor to add or remove Sections. + Improved installer. Your datafiles can now live in a directory tree separate from your TOPDOC executables. + Linux version now in same installer jar, Nexgen_install.jar. + New startup binary so jdk.config does not need the JAVAPATH setting. It works with any Java installed on the system >= 1.5, and the first one found in the PATH setting is used. + Building watchlists can be done by tag. + Colors for the ladder editor can be manually changed by text editing usr/DEFAULTS.LST or usr//USER.LST. If you are sharing the computer with other persons, copy the colors from DEFAULTS.LST to the file usr//USER.LST file unless you can all agree on colors in which case DEFAULTS.LST is far easier. + The Java Swing "Look and Feel" is configurable by editing either the usr/DEFAULTS.LST file or usr//USER.LST file. More "Look and Feels" will be added in the very near future. + The font sizes and window locations of all panels within the *App Editor* are saved when closing any App Editor (local or remote editing). + Search ladder now has a Find Next button on the Program Navigator, and the F3 works as a find next feature. The program search interface is now more intuitive. + Datatable Bookmarks are now retentitive. (They are stored in the APP, namely in the comment for the datatable, along with watchlists.) + The "PLC | Define" panel now lets you use names instead of IP addresses, and those names can have periods in them. + Ebellished the help page for branching to talk about the expand all branches menu. + Added online help to the ModbusIPMaster Configuration editor. The help is achieved by launching your web browser and pointing it at the SoftPLC website where the ModbusIPMaster TLM is documented: http://www.softplc.com/usermanuals/modbus_ip_master/ + Improvements in the ModbusIPMaster Configuration editor when used for Tealware firmware 2.x ethernet I/O adapters. If you set an address outside the auto allocation range for a module, the auto allocator is not affected. Modbus command for TealwareDrops are now greyed out, since they are not editable. Verify pass completed on save or send. Auto-configuration implemented for drops meeting the "Tealware 2.0 Modbus TCP Ethernet Adapter" specification. + Added S:1/10 and S:2/10 cells to the datatable editor for the STATUS file. These were needed for the new runtime version 4.x features: Yield bit and Saving bit. See the runtime's "history.txt" file for more details or the TOPDOC help file. Version 3.x runtime does not have these enhancements. 1.4.070313 ------------ + When switching datatable files the descriptor was not being updated at first. + Nexgen search would find "F8:1???" when searching for "F8:1". Since searching is actually performed by the runtime, we had to fix it. + If a branch segment had no instructions on it, then Nexgen search would be off by the number of BLANK instructions inserted by Nexgen for display purposes. + If you modified a rung, scrolled it off screen and then assembled it, you were left with a blank ladder display until you repositioned the window, causing it to be redrawn. + If you modified a rung, scrolled it off screen and then assembled it, in the case were you had missing output instructions on a parallel output branch (i.e. invalid rung grammar), then the the error message box would come up but the display was left blank similar to the bug above. + "Rung Simplify" added. Nested branches are now simplified to use less nesting if possible at the time of assembly. This causes rung to look better. + In order to let you insert instruction to the right of a branch continue yet on the same parallel path as the branch continue, we added the "expand branches" right popup menu on the ladder. The effect of this command is to replace simplified branch sequences with nested branch sequence, the opposite of Rung Simplify. So you can expand branches, insert new instructions and then at assembly the Rung Simplify logic will find the most compact form of the rung for you. + There was one last bug in branch delete, and it would only show up when deleting a nested path. + If you modified a rung, but did not assemble the rung, then scrolled off the rung until it was out of sight, then scrolled back with the keyboard, the rung would not be visible until you resized the editor or moved the scrollbar with the mouse. + Program Navigator now lets you modify the Tag for a program file. + From the datatable editor, you may now right click and select from a popup menu of addresses. Selecting an address repositions the Descriptor panel to that address, or lets you create a new Descriptor if one does not exist for that address. + The Modbus IP Master editor now supports the TealwareDrop element which is specific to the new ethernet I/O adapter firmware in Tealware. Elements of this type can be configured by selecting hardware rather than Modbus requests, and the editor automatically generates the required Modbus requests for nodes of this type at time of Save or Send. The behavior of TCPServer and UPDServer are unchanged. 1.3.061103 ------------ + Fixed a bug scrolling into an online datatable file that was 500 elements long. Very obscure. + Added the ability to show Descriptor Tags as cell titles in the datatable and watch window panels. + Upgraded the linux usb support for the usb software key so it is compatible with systems using udev rather than hotplug. If on linux, create this file: /etc/udev/rules.d/10-dongle.rules with a single text line of content: BUS=="usb" SYSFS{idVendor}=="07f2", SYSFS{idProduct}=="0001", GROUP="plugdev", MODE="0660" then add a linux group plugdev and add yourself to it. 1.3.060530 ------------ + Fixed a bug in FSC instruction handling where the expression used the <> or != (not equal) operator. + Completed the help support for Watch Lists. 1.3.060503 ------------ + Added watch window support. + Added instruction entry by Tag. + When offline ladder editing, clicking the TLI icon to "Load TLM's as PLC" now can read the version 4.x TLM's TLI information record. + Modified the instruction parameter validation for TLI instructions so that the COMGENIE instructions could take a STRING argument. This version of NexGen, or newer, is required for the 4.x COMGENIUS TLM. + Fixed a bug which occurred when invoking the datatable navigator when the total number of datatable files was >= 248. The element count of the first few datatable files was incorrect. + Went to individual cells on the datatable editor when showing the status file. + Added tooltips for XIC and XIO radio buttons on instruction entry. + The Ladder right click menu, selection Descriptor, was not giving the focus to the descriptor table. + Modified /SoftPLC/plc/DEFAULTS.LST line containing Fama.sio so the version 4 runtime, which is filename case sensitive, would properly do a save selected from Detect on Net. 1.3.050712 ------------ + The new upload code could fail when talking through a fast router. Adding a small delay fixed the problem. + Creating a new PLC in the PLC Panel and then leaving the type as TEALWARE and then creating the default MODULE.LST file would yield a bad entry for the TEALWARE.TLM. The path would be /SoftPLC/run/TEALWARE.TLM instead of /SoftPLC/tlm/TEALWARE.TLM. + Fixed a few bugs pertaining to ladder branch deletion. + Added the Modbus TCP Master editor for the new TLM MBIPMAST.TLM + Polished up the "HOTKEYs for Editors" pages in the help system. 1.3.050411 ------------ + Added support for the "query _multiple_ file size and type" command. + Changed the Datatable Navigator and Program Navigator UI's to use the "multiple" forms of "query file size and type" and "read descriptor". This improved the speed of pulling up the File Manager component of either Datatable Navigator and Program Navig + Added a new RAM_APP_UPLOAD2 command which is an alternate way to do program uploads. The original way would not work if you tried it from behind a NAT router. + Fixed a problem in the PLC | MODULE editor where a module in "Use" would show up more than one time in the table, the second time as not in "Use". Version 4.x runtime did not exhibit the problem, saw it with version 3.x. 1.2.050216 ------------ + BTD instruction entry was requiring a bit field width range of 0-15 instead of 1-16. + Non-directory entries (i.e. file entries) found in the /SoftPLC/app directory are now omitted from the APP window. Sheesh, keep files out of there. Isn't there another place for files? + XML export now reverts back to showing "program file" instruction parameters in the format of P instead of . e.g. "P23" instead of "23". 1.2.050126 ------------ + Fixed a fringe ladder display problem which occurred when you had a TLI in a remote edit session, and the TLI in the program area did not agree with the actual TLI in terms of parameter count. This could come about by changing the source code to the TLI after it was entered into the program. We saw it with Java based SENDMAIL that somebody had temporarily modified with respect to parameter count. + Extended a buffer used by the descriptor panel to handle the previously designed limit. There may have been some cases where NexGen could have become corrupted if you had very long descriptors, which is the sum of address, tag and description characters. + Changed the upload timeout to be 3 x the normal timeout because we were having timeout occur on the uploads from Tealware. + Modify on an existing CMP instruction was not showing the expression in the instruction edit dialog. + Modify on any timer or counter instruction gives you the existing PRE value. + Fixed a minor bug in the help file for the PID instruction. The example rung set was using the wrong timer base, it should have been .01 time base. 1.2.050106 ------------ + Indirect BIT addresses used within an XIO instruction in the local editor were incorrectly displayed as XIC instructions. Also, the "true-ness" of the instruction in the event the indirect memory address existed was not correct. 1.2.041005 ------------- + You can now modify the "App Comment" from the App Panel. + Descriptor table navigator supports not just address or tag search, but now description field search. And it supports regular expression search on any of the 3 fields. Regular expressions are similar to, but _much_ more powerful than wild card searches. + Added "Show Datatable" to the ladder right click popup menu. + Added "Show Descriptor" to the ladder right click popup menu. + Ladder search by Tag added. + NexGen 1.2 will run on the new JRE 1.5 ("Java 5.0") from Sun. When doing so it looks better due to an improved JRE look and feel, and runs faster. We recommend you upgrade your Java to 1.5, although it is not a requirement. If you upgrade your JRE, remember to edit the \SoftPLC\bin\jdk.config file and tell us which JRE you want to use. + While the datatable editor's field manipulator was up, and you were positioned on a bit in the "B" datatable section, the descriptor box in the datatable editor was not showing an existing descriptor for the binary bit. + When coming to the datatable's manipulator as a result of an editing bookmark or an ALT-G, sometimes the initial value of the field was not correct. + Descriptors were not displaying above JSR instructions. Now they show a descriptor like "P3", "P4", etc. if present. + Swapped out the descriptor and property table "delete" icons for the standard "garbage can" icon. + If the RSS feed times out, you no longer get the "exception occurred" popup. + Improved handling of the software key driver installation in the install program. + Improved desktop icon for NexGen. + Added help page for Upload and Download App. + PLC Startup Panel uses a comboBox now for the remote app to start up selection mechanism. The radio button approach from before could not handle more than a large handfull of remote app names since there was no scrolling support. + Fixed a memory leak which happened when opening and closing a remote editing session. 1.1.040818 (not released) -------------- + Improved the timeout support for PLC | Upload. NexGen could hang if there was a problem communicating with the SoftPLC after the initial socket open. + With version 4 runtime, the "Detect on Net" followed by "Save Selected" would not yield the proper local filenames to save remote configuration files to. So instead of yielding /SoftPLC/plc/HILSCHER.LST you would get /SoftPLC/plc/SoftPLC/tlm/HILSCHER.LST. And this would prevent the upload from being able to create the local file. + PLC | ONE | KTX panel now supports PCI as an option. Choose this only for the version 4 runtime, which has /SoftPLC/run/onekt.so that supports the 1784-PKTX and PKTXD cards. Version 3 runtime does not support this PCI card. 1.0.040618 -------------- + Copying a JSR instruction with return parameters would duplicate the first return parameter and use that for all return parameters. + Added command line support for xmlImport + Program Navigator's FileManager was not updating descriptor table or descriptor on ladder when adding a new program file with a new descriptor. + Program Navigator's FileManagner Add panel was not making OK button the default. + Added support for runtime 3.1's new descriptor block read command + Added the RSS news browser, comes up just after logging in. It may be dismissed early merely by ESC, ENTER, or clicking OK. 1.0.040505 -------------- + Detect on net now recognizes the "softplc version" field in the discovery packet, if present. For it to be present, you must be using SoftPLC firmware version at least this new: 1) any version 4.x, or 2) NETWORK.DLL version 3.0.040505 or newer for SoftPLC 3.x 3) NETWORK.DLL version 2.5.040505 or newer for SoftPLC 2.x + If you were downloading a new APP to the PLC, you would have to do it twice because the create directory operation was not completing in time for the download. 1.0.040409 -------------- + Added support for version 4.0 SoftPLC which runs on Linux. There is now a "4.x" choice for the firmware type in the PLC | DEFINE menu. Also made some minor changes to the FTP client so that it would work around an incompatiblity in the version 4.0 runtime's FTP server. When talking to "4.x" PLC's, the remote paths will use a / instead of a \ in the file separator. Therefore it is important that you carefully set your firmware revision when talking to 3.x SoftPLC otherwise you will get FTP errors at the / will not be understood on the 2.x and 3.x runtimes. + Added a C based BOOTP server for the Linux version of NexGen. This gets past the problem where a non-root process tries to access a TCP/IP port below 1024. The bootpserver program is suid root. For the windows version, we still use the Java based bootp server. 1.0.040209 -------------- + XML import was propagating the last read comment into the next element that would accept a comment, leading to bad comments all over the place in the imported SOFTPLC.APP. + XML import would object if one of the datatable files in the range 3-9 was not of the default type. IOW, if the XML file was using a non default datatype for say file 4 (default is Timer) then the import would fail. + The LOB to APP converter would omit rung 0 comments for any program file greater than 2. So P3/0, P4/0, etc. would lose their rung comments if any. + Could not find "t4;0.acc" in N7:[t4;0.acc]/12 + If ladder "search all" would try add a TLII or TLIO instruction to the search list, this would give a NullPointerException. You could not "search all" if the result list wanted to include a TLI? instruction. + Fixed a problem with CPT T4:0.PRE-5 whereby we could not parse the expression because of the "E-" sequence being treated as part of a float. + Datatable Navigator | File Manager | Modify would not allow deleting of a tag assigned to a dt file. Also, now update other editor panels when a descriptor is changed from here. + Remote editing refresh of SQI instruction was not working properly. + Doing a "local APP save" or "remote download" now keeps the most recent backup in Softplc\app\\SOFTPLC.BAK. "Remote APP save" will do so only with SOFTPLC.DLL 3.0.040209 or later. + If your remote C:\softplc\run\Softplc.exe is dated 2/9/2004 or later, you can now use filezilla FTP client (version 2.2.3 was tested) from http://sourceforge.net/projects/filezilla That is, you may have to upgrade your SOFTPLC.EXE on your firmware set. + If you deleted a datatable file, the internal "file modified" flag was not being set and you would not be prompted to save the file when quitting editing. Both local and remote editing was affected. 1.0.031027 -------------- + Fixed 1.0.031022 bug that occurred when selecting a full rung. The background did not change color. 1.0.031022 -------------- + Added Download support. + Added printing support. Use the icon above the ladder editor, when in Remote mode, you can only print the current screen, when in Local mode, you can print full ladder and datatable. The report for the STATUS file S2 is not what it will be. 1.0.031006 -------------- + Added the following string instructions: SEP, ACF, and GET. See the help file for details. They require a SoftPLC 3.0.031006 or later. Versions of SoftPLC runtime previous to this did not have these 3 instructions. + Added support for a USB software key in addition to the parallel port form. RC3_1.0.030905 -------------- + Few TLM's could handle RC2's use of / in MODULE.LST so we went back to using \ in MODULE= and DRIVER= statements. Same for paths in STARTUP.LST. RC2_1.0.030828 -------------- + Changed: now do some path manipulation of \ and / characters in support of the Linux version of TOPDOC NexGen. These changes are the reason why we need another release candidate before calling it 1.0 released. RC1_08030805 ------------ + Fixed: XML import would occasionally convert an integer constant in the ladder area to a float. EQU 9 N7:0 would become EQU 9.0 N7:0. This should execute the same, but slightly slower because N7:0 would have to be promoted to float before the comparison could be made. + Fixed: Spreadsheet Clip Panel (Smart paste panel) would show the +00012 type trailer on BLOCK addresses. RC1_030804 ---------- Fixed or added in this release: + Added searching for TLIO OOP_* which can be used after an SLC conversion. You must supply TLIO or TLII and the wildcard must be the last character in the function name. + Removed dependency on \softplc\bin\xercesImpl.jar which you can now delete if you find it in that directory. + Sometimes after a rung deletion the window was not being refreshed. Scrolling a bit was a workaround. + Force editor table would loose the focus when performing operations on the rows. Now focus stays at the last row. + Descriptor & Property table editors were not doing copy and paste properly when the field to be pasted was an empty string. + Block rung selection enhanced. Now you can click and release once to establish the pivot point (rather than dragging). Then press SHIFT key and click and release a 2nd time to establish the SELECTION. You can perform the 2nd step multiple times to expand the selected area. + Program Clip support added. See the help file about "Program Clips". + PID datatable view did not expose the PE bit which controls the equation type: ISA or independant gains. + Changed to JavaHelp 2.0 beta, which brings better printing of help topics. You may now print more than a single topic at a time by selecting them from the Help Navigation window. Before printing only one topic at a time was possible, and even then printing some topics like the pid instruction would lock up the computer. + Hot key help file pages added for each type of editor. These may be printed out. + XML import could only import to the single rack APP rather than to large IO capacity apps. + OR instruction could not be imported into XML import or could not be pasted from clipboard. + Added address syntax checking support for STRING data words and bits like: ST23:14.DATA[12] and ST23:14.DATA[12]/11 which are now legal and were coming in from the new SLC conversion program. Beta_030610 ----------- + Improved the Program Navigator Tree View to show a different kind of node for a non-expandable program file. Show tag for program file if it exists. + Made the toolbar buttons a little further apart from another for fumble finger types. + Branch insert mouse cursor: when releasing mouse on the edit rung, but outside the tolerated distance limits for branch insert, you would get a NullPointerException + If the force table was visible (and not the datatable) then when you inserted ladder logic which caused the creation of new datatable, you would get a datatable read error, even when doing this offline. + Add new rung to 'c' state, then scroll down so pending rung off screen, then press F9. You got an error message. Now the rung is assembled if it can be and that rung is made current again on screen. + Instruction entry dialogs would complain if there were blank spaces after any instruction parameter text. + Property Navigator's Help button would invoke help system in such a way that you could not navigate the help system. + The Descriptor Navigator's Help button was not functional. + The ESCAPE key now clears the selected area (purple area) if any. Ctrl-A was re-assigned to the abort pending edits command. + Fixed a bug related to unselecting a partial rung. + Zooming font in datatable editor now ties harder to keep the cell cursor on screen as the font sizes change. + Keyboard focus on datatable editor stays is directed to the single column table as long as focus is in the datatable editor. Previously the escape key or the insert key would not operate after clicking on the toolbar. + When datatable manipulator is active, the tooltips were not coming up for fields within the cell being edited. + When datatable manipulator is active, scrolling to a new field now scrolls the fields of all cells, even those not being edited. + Datatable Navigator GOTO would not go to a specific bit or to a word if the word was a named word. + Tooltip on B3/1000 type datatable fields now show the resolved address. So B3:6/4 becomes B0003/00100 in the tooltip. + XIO & XIC instruction entry panels now let you toggle the OPCODE as well as modify the bit parameter. + Focus tracking toolbars now use a more agressively distinguished color transition. + XML import was not importing if the softplcapp.dtd file was not in the same directory as the imported XML file. Now the *.dtd file is tucked into the topdoc.jar file and used from there. + XML import was not importing PID data elements from the datatable. (A regression.) + You could not insert a FBC or DDT instruction without an exception. + CPT, FSC, FAL, CMP expression parsing would treat 1.2e+12 as 1.2+12, the plus sign was not recognized as part of the float constant. + CPT, FSC, FAL, CMP expressions were not being displayed on instruction modification, ALT-X + FBC, DDT instruction entry was not creating the datatable files given by the file sizes correctly. + Added copy and paste of rungs or instructions. + PID auto/manual bit display in the datatable editor had inverted logic. when in auto, manual was displayed and vice versa for both /MO and /SWM bits. + Under certain circumstances a Goto in the ladder editor would not take you to the proper rung. While fixing this, we improved scrolling speed somewhat. Beta_030319 ----------- + TLI's are supported fully both online and offline. However, Java based TLI's may only be edited using the online functionality. C++ based TLI's may be edited either online or offline. To use this functionality, see the Help File table of contents under "Using TLI's" + Fixed a bug which occurred when a descriptor had a tag but no description. Sometimes this would terminate TOPDOC. + Descriptor Panel font scaling now preserves the selected row within view. + Descriptor Panel "+" now works in all cases, even when the table was empty to start. + Focus tracking is better when clicking on the more obscure parts of the different editor panels. As before, the gradient tool bar shows the current focus. + Force Table editor is done + Forcing is now possible using right mouse click on a real I/O contact or coil within the ladder editor. + Improved Mode change support and mode display in lower status bar panel of the app editor. + PLC Panel now shows the PLC's in alphabetical order. + There was a bug in creating 3.0 forms of the default MODULE.LST files. The path information was wrong and NETWORK.DLL was being inserted.