For Control Expert with LL984 Editor compared to legacy LL984 applications the restrictions described below apply.
The following memory address are used in Control Expert:
Control Expert
|
Legacy LL984 Application
|
%M (memory bit)
|
0x
|
%I (discrete input)
|
1x
|
%IW (input word)
|
3x
|
%MW (memory word)
|
4x
|
The Control Expert LL984 Editor does not provide debugging support. Only the IEC languages (FBD, LD, SFC, ST, IL) provide debugging features.
Segment scheduling is managed by the order of sections programmed in the MAST task.
-
Control Expert with LL984 Editor does not support executing 1 segment several times during a PLC scan, which was possible with legacy LL984 applications.
-
The Control contact state can only be an On state to solve. Legacy LL984 applications allowed an option of On or Off to solve the segment.
-
Control Expert does not support the Reset WDT setting.
-
Control Expert does not support inverted condition variables neither for segments nor for networks.
If an I/O drop is associated with a logic segment without any logic programmed the segment is not created and therefore the associated I/O is not solved. Drops without logic must be explicitly set to scan associated I/Os.
Review the segment scheduler and logic segmentation and after the conversion add sections to the MAST task with the proper Remote I/O drop added that needs to be solved for the application.
For Modicon M340 target applications I/O scheduling is not possible from the segment. The MAST task updates the I/O modules.
Segments not in the right order after import of a ProWORX application
In case there is one or more segments, which are not marked for execution in the LL984 segment scheduler, the import will place the first of these segments as first LL984 segment in Mast Task segment tree.
The segments/sections are scanned in the order displayed in the Project Browser.
As this wrong placed segment has a condition LL984_Segment_NotSolved, this segment will not be scanned.
If the segment condition is removed, the segment must also be placed in the correct place in the Mast Task segment tree, to get correct execution order.
Segments/networks programmed but not listed in the segment scheduler are not imported.
All Segments which are disabled in LL984 segment scheduler are not scanned in Control Expert.
Such segments are connected to a common variable, initialized at 0 named LL984_Segment_NotSolved.
To enable one or several segments, condition variable in the segment properties window must be deleted.
Import log file has an incorrect message - Negative segment conditions are not supported....
A wrong message may appear in the import log file after an import of a Concept *.asc file: Negative segment conditions are not supported. Segment condition must be adapted in Segment xx.
This happens in case where a previously conditionally executed segment, was set to continuously before the Concept project was exported into a *.asc file.
As the import of the continuously state is correct, there is no more action necessary.
Control Expert does not support interrupt handling with LL984 subroutines.
That means applications with the ITMR function and those that use the HLI 340 interrupt module with the IMOD instruction will need to be modified so that they make use of standard Control Expert interrupt handling with I/O events.
If the original LL984 application contains an IMOD FFB programmed to service interrupts for the HLI input module, the LL984 subroutine sections will be imported into the Control Expert application in the SR section of the MAST task. But they will not be operational with interrupt handling. In Control Expert, the HLI I/O points that are configured as interrupts are linked to I/O events in the Events section. The LL984 subroutine program will have to be programmed (in one of the IEC languages) in the appropriate I/O EVT section.
Once completed, the SR sections that were imported into the MAST task need to be deleted.
Online changes in Control Expert is not unlimited.
A message will be generated, if a certain percentage (e.g. 75%) of the available Build → Build Changes memory is already used.
The LL984 Editor of Control Expert does not allow "direct" changes of code like in legacy LL984 systems.
A change performed online in an LL984 network will lead to a modification of the network and needs to be confirmed and downloaded by Build → Build Changes.
In legacy LL984 applications forced bits remain in their state after a cold start.
In Control Expert forced bits are reset on cold start.
Non-latched/Latched Coil Restrictions
Legacy LL984 applications provide switching between State Flow and Power Flow view.
Control Expert only provides 1 view (Power Flow). Therefore no switching to State Flow is available.
Control Expert Quantum PLCs do not support SCADA packages that use Quantum extended memory reads and writes (Modbus FC0x14 and FC0x15).
Extended memory data from a legacy Quantum LL984 application will be moved to a Control Expert defined variable location.
MMF (Modicon Motion Framework)
Control Expert does not support the MMF (library of motion function blocks, loadable).
Modsoft SFC and Modsoft macros will neither be converted to nor supported by Control Expert.
Not Supported Legacy LL984 Instructions
L9_IMIO, No error code 16#2003 in case of IOFUN=3
When using the immediate I/O function block (L9_IMIO) with parameter IOFUN=3 (combined input and output operation) with a none-bidirectional I/O module there is no error-code 16#2003 reported.
EMTH FFBs: Results and error-code different between legacy LL984 and Control Expert LL984
When using EMTH FFBs (L9E_...) with very small floating point values or with value=NAN/INF the result of the operation or the error code retrieved by the EMTH L9E_ERLOG FFB may differ between legacy LL984 and Control Expert LL984.
Examples:
-
If the input value of L9E_SINE is 1.363573E-36, the L9E_ERLOG FFB in ProWORX32 reports the error code 1A01 (FP Underflow), while in Control Expert LL984 there is no error code reported. In Control Expert LL984 the Underflow error is reported if the input value is ≤ 1.175E-38.
-
If you compare the FP values 9.18E-41 and 0.0 using the L9E_CMPFP function block, the result in legacy LL984 is Equal and in Control Expert LL984 the result is Greater.
-
If the input value of the L9E_SQRFP (square root) FFB is +NAN, the error code retrieved by the EMTH L9E_ERLOG FFB in Control Expert is 16#1704 (FP value invalid), while in legacy LL984 the error code is 16#1702 (FP Overflow).
PCFL FFBs: Different results between legacy LL984 and Control Expert LL984
The calculation of the formula (A*B*C)/D in the L9P_CALC FFB delivers different results in legacy LL984 and in Control Expert LL984 in case of A=1.0 and B=C=D=9.18E-41. In Control Expert LL984 the result is 0.0 and in legacy LL984 the result is 9.18E-41.
XMIT, Not present in Library error. Opcode must be changed to 1F
L9_XMIT now is offered as an EFB always available, while legacy LL984 projects know it as a loadable. Opcode is no more needed and must be set to 1F before importing application to Control Expert.
L9_ID and L9_IE function blocks do not disable/ enable the ITCNTRL when set in Mode 3
With the L9_ID/L9_IE function block you can mask/unmask interrupts. The parameter INT_TYPE specifies the type of operation:
-
INT_TYPE=1
A global interrupt masking is performed, that means all I/O and timer interrupts are masked (L9_ID) or unmasked (L9_IE). Masking of interrupts can be done for a series of PLC scans. The masking starts when the L9_ID block is executed and it ends when the L9_IE block is executed. The L9_ID/L9_IE block with INT_TYPE=1 has the same effect as the IEC function block MASKEVT/UNMASKEVT.
-
INT_TYPE=2
Not supported in Control Expert LL984.
-
INT_TYPE=3
Only timer interrupts are masked/unmasked. This mode can be used to protect a short sequence of code in your application from being interrupted by a timer event. You cannot disable timer interrupts for several PLC scans. The L9_ID/L9_IE function block with INT_TYPE=3 has the same effect as the IEC function block ITCNTRL with parameter ENABLE=False (L9_ID) or Enable=True (L9_IE) and EVENT=1..32.
LL984 is always referencing the symbol and not the direct address so when you assign a contact to the Variable %MW651 Control Expert create automatically the symbol _400651.
Control Expert will do its reference on this symbol and not on the location of the State RAM so it is this symbol which is seen as used by the language and not the %MW651.
Nevertheless the variable is seen with the filter on variable as used by the application.
Other mechanisms can be used to check if the variables are used by the application as search, cross references and Used column in the data editor.