Porting to LogicLab: Difference between revisions
No edit summary |
|||
(28 intermediate revisions by the same user not shown) | |||
Line 137: | Line 137: | ||
* Add these lines in the ISS file '''at the very beginning''' of the [Files] section | * Add these lines in the ISS file '''at the very beginning''' of the [Files] section | ||
Source: Shared\redist\ | Source: Shared\redist\VC++\vc_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall; AfterInstall: RunSetup('Installing Visual C++ Redistributable...', '/install /quiet /norestart') | ||
* Add these lines in the ISS file [Files] section | * Add these lines in the ISS file [Files] section | ||
Line 154: | Line 154: | ||
ResultCode: Integer; | ResultCode: Integer; | ||
begin | begin | ||
if (Exec(ExpandConstant(CurrentFileName), params, '', SW_SHOW, ewWaitUntilTerminated, ResultCode)) then | if (Exec(ExpandConstant(CurrentFileName), params, <nowiki>''</nowiki>, SW_SHOW, ewWaitUntilTerminated, ResultCode)) then | ||
begin | begin | ||
// handle success if necessary; ResultCode contains the exit code | // handle success if necessary; ResultCode contains the exit code | ||
Line 164: | Line 164: | ||
end; | end; | ||
end; | end; | ||
==Porting procedure to LogicLab 5.14.0.x :== | |||
* If you are using old TGT files (not XML format) and using task periods expressed in us, it is necessary to prefix the constant with LTIME specifier: e.g. lt#500us | |||
==Porting procedure to LogicLab 5.16.0.x :== | |||
* Nothing to be done from previous branch | |||
==Porting procedure to LogicLab 5.18.0.x :== | |||
* Nothing to be done from previous branch | |||
==Porting procedure to LogicLab 5.20.0.x :== | |||
* Nothing to be done from previous branch | |||
==Porting procedure to LogicLab 5.22.0.x :== | |||
* Nothing to be done from previous branch | |||
==Porting procedure to LogicLab 6.0.0.x :== | |||
'''IMPORTANT:''' Those steps are strictly required because LogicLab6 has a different file and folder organization (the folder name inside the redist has changed from LogicLab5 to LogicLab6) | |||
'''ISS changes''' | |||
* modify the application name (from LogicLab5 into LogicLab) in ISS (#define NameApp) | |||
* modify the folder name (from LogicLab5 into LogicLab) in the ISS file (#define LLSrcDir) | |||
* Remove the old version (LogicLab5) in the ISS file with InstallDelete, if desired | |||
[InstallDelete] | |||
Name: {app}\LogicLab5; Type: filesandordirs | |||
'''LLMakeCustomVersion.bat changes''' | |||
* modify the path (from LogicLab5 into LogicLab) (set BUILDPATH) | |||
'''PCT catalog changes''' | |||
* Modify the PCT file of every target of your catalog if they have any reference, e.g. "''<loadExternalTemplate>..\LogicLab5\templates\Catalog.pct</loadExternalTemplate>''" into "''<loadExternalTemplate>%APPPATH%\templates\Catalog.pct</loadExternalTemplate>''" | |||
* Modify the relative path of system libraries in the catalog, e.g. "''<library>..\..\LogicLab5\Libraries\Standard.pll</library>''" into "''<library>%APPPATH%\Libraries\Standard.pll</library>''" | |||
'''LogicLab is now compiled using Visual Studio 2022.''' | |||
* Download last Microsoft Visual C++ runtime redist from [[https://aka.ms/vs/17/release/vc_redist.x86.exe here]] and overwrite the one you have in the ''Setup\Shared\redist\VC++'' folder of your setupkit. | |||
* Download latest version of shared components from [[https://axelsoftware.sharepoint.com/:u:/s/AXELSrl/EQ893dNyD1JFv9QTyokYhQgBkfRC-06-CzcrAGUz33BPdw?e=I0OX37 here]] and communication libraries from your customer page and update all binaries on your ''Setup\Shared'' folder. | |||
* Download latest version of ''GDBFileTransfer.dll'' and ''LLScanClientLib.dll'' from [[https://axelsoftware.sharepoint.com/:u:/s/AXELSrl/ERUTWgsmuK5Pr42sFQxqYRgBqwidHllKOKNon6wJLEO9tQ?e=y9fk7l here]] and overwrite the ones you have in the ''Templates'' folder of your setupkit. | |||
* Add these lines in the ISS file [Files] section: | |||
;-------------SHARED COMPONENTS---------------------------------- | |||
Source: shared\AlCatalogManager6.dll; DestDir: {cf}\AlComponents; Flags: regserver sharedfile uninsnosharedfileprompt | |||
Source: Shared\ToolkitPro2210vc170U.dll; DestDir: {sys}; Flags: sharedfile | |||
Source: Shared\AxEditGrid5.ocx; DestDir: {commoncf}\AlComponents; Flags: regserver sharedfile uninsneveruninstall | |||
* Search in all your catalog html files the old GUID of ''AxEditGrid4.ocx'' component and replace it with the new one of ''AxEditGrid5.ocx'' | |||
OLD GUID: '''D62247DB-3391-4236-936F-80EF7F4EA476''' | |||
NEW GUID: '''7E61CABD-EB07-425A-9315-B6B2D454BAC1''' | |||
==Porting procedure to LogicLab 6.1.0.x BETA :== | |||
* Nothing to be done from previous branch | |||
[[Category:LogicLab]] | [[Category:LogicLab]] |
Latest revision as of 18:29, 20 September 2023
Porting procedure from LogicLab 4 to LogicLab 5.0.0.x :
WARNING: Those steps are strictly required because LogicLab5 has a different file and folder organization (the folder name inside the redist has changed from LogicLab4 to LogicLab5, and the executable name from LogicLab4.exe to LogicLab.exe)
ISS changes
- modify the application name (da LogicLab4 a LogicLab5) in ISS (#define NameApp)
- modify the folder name (from LogicLab4 to LogicLab5) in the ISS file (#define LLSrcDir)
- modify the executable file name (from LogicLab4.exe to LogicLab.exe) in the ISS file (#define LLNameExe)
- Remove the old version (LogicLab4) in the ISS file with InstallDelete, if desired
[InstallDelete] Name: {app}\LogicLab4; Type: filesandordirs
- Add in the ISS file the copy of the LogicLab\styles folder
Source: ..\{#LLSrcDir}\Styles\*.*; DestDir: {app}\{#LLDestDir}\Styles; Flags: ignoreversion
- Remove the AlUIExt.dll installation, not existing anymore
Source: ..\{#LLSrcDir}\AlUIExt.dll; DestDir: {app}\{#LLDestDir}; Flags: ignoreversion
LLMakeCustomVersion.bat changes
- modify the path (from LogicLab4 to LogicLab5) (set BUILDPATH)
- modify the executable file name (from LogicLab4.exe to LogicLab.exe) in the CustomVersions script (set SRC), in the :Init function
PCT catalog changes
- Modify the PCT file of every target of your catalog if they have any reference <loadExternalTemplate> that points to LogicLab4 in LogicLab5
- Modify the relative path of system libraries in the catalog, e.g. "<library>..\..\LogicLab5\Libraries\Standard.pll</library>"
- Modify the templates\LogicLab.pct file substituting <extension><dll> LogicLab4.exe in %APPEXENAME%
PageLab changes
- If you have Pagelab on your suite, modify the PLMakeCustomVersion.bat file and updating the NAMELLC and LOGICLAB_PATH variables
Porting procedure to LogicLab 5.6.0.x :
Script catalog changes
- If any target in your catalog has HTML pages that create or modify global PLC variables (like 'Parameters', 'Status variables', fieldbus configuration, etc...), you have to:
- Edit CheckGlobalVarsModified() function in LogicLab5\template\script.js, and make sure the actual code is
function CheckGlobalVarsModified(group) { // se variabili globali già modificate e non salvate non permette l'operazione if (app.CallFunction("extfunct.IsGlobalVarsModified", group)) { var msg; if(group) msg = app.Translate("Global variables group %1 is modified.\nPlease save before continuing.").replace("%1", group) else msg = app.Translate("Global variables have been is modified but not saved.\nPlease save before continuing.") app.MessageBox(msg, "", MSGBOX.MB_ICONEXCLAMATION) return false } // ulteriore controllo se la dichiarazione testuale IEC è valida else if (!app.CallFunction("extfunct.IsGlobalVarsIECDeclarationValid", group)) { var msg; if(group) msg = app.Translate("Global variables group %1 has an invalid IEC declaration.\nPlease fix it before continuing.").replace("%1", group) else msg = app.Translate("Global variables have an invalid IEC declaration.\nPlease fix it before continuing.") app.MessageBox(msg, "", MSGBOX.MB_ICONEXCLAMATION) return false } else return true }
- Get the latest version of the script in Common\Script\PLCVars.js from [here]
Porting procedure to LogicLab 5.8.0.x :
- LLMakeCustomVersion.BAT must be changed, because internal resource IDs have been revised. Change:
set IDS_AXEL_VERSION=10525 set IDS_CUSTOM_EXT=10529 set IDS_CUSTOM_COPYPASTE=10530 set IDS_CUSTOM_ID=10531
To:
set IDS_AXEL_VERSION=1890 set IDS_CUSTOM_EXT=1893 set IDS_CUSTOM_ID=1895
- ISS setup script MakeCustomLL.ISS must be changed, because now LogicLab uses a new shared DLL
Download it from [here] and put it in your Setup\Shared folder.
In the ISS script please add under [Files] section:
Source: Shared\ToolkitPro1801vc120U.dll; DestDir: {sys}; Flags: sharedfile
Porting procedure to LogicLab 5.10.0.x :
- ATCServer.exe is no longer present and not distributed in the LogicLab_xxx_Redist.zip.
Please remove any occurrence of "ATCServer" from the ISS script file.
Porting procedure to LogicLab 5.12.0.x :
- All files generated by the compilation are now saved inside a folder named "Build". All the targets that download the symbol table (tipically LLExec) will need some modifications to the scripts in the catalog
LLExec.js (or similar, maybe with a different name): add the functions
function GetBuildDir() { var prjDir = m_fso.GetParentFolderName(app.CallFunction("logiclab.get_ProjectPath")) + "\\"; if (m_fso.FolderExists(prjDir + "Build")) return prjDir + "Build\\"; // le nuove versioni di LogicLab hanno la sottocartella "build" con tutti gli output di compilazione else return prjDir; // vecchie versioni salvano tutto nella cartella di progetto } function GetSymbolTableFilename() { var prjpath = app.CallFunction("logiclab.get_ProjectPath"); var symtab = GetBuildDir() + "\\" + m_fso.GetBaseName(prjpath) + ".sym.xml"; return symtab; } function GetSymbolTableNameOnTarget() { return "PLC.sym.xml"; }
download_cfg.js (or similar): change the PreDownload() function, from
if (downloadSymTab) { // la symbol table ha il path completo del progetto con estensione .sym.xml var prjpath = app.CallFunction("logiclab.get_ProjectPath") var symtab = m_fso.GetParentFolderName(prjpath) + "\\" + m_fso.GetBaseName(prjpath) + ".sym.xml" var result = app.CallFunction("GDBFileTransfer.GDBCopyFileToDevice", devlink, symtab, "PLC.sym.xml") app.PrintMessage("Downloading Symbol table : " + (result ? "OK" : "FAILED")) }
to
if (downloadSymTab) { var symtab = GetSymbolTableFilename(); var result = app.CallFunction("GDBFileTransfer.GDBCopyFileToDevice", devlink, symtab, GetSymbolTableNameOnTarget()) app.PrintMessage("Downloading Symbol table : " + (result ? "OK" : "FAILED")) }
ISS changes
- Download this package [here] and extract it on your Setup\Shared folder.
- Add these lines in the ISS file at the very beginning of the [Files] section
Source: Shared\redist\VC++\vc_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall; AfterInstall: RunSetup('Installing Visual C++ Redistributable...', '/install /quiet /norestart')
- Add these lines in the ISS file [Files] section
;-------------RESOURCE FILES FOR PROPERTIES VIEW----------------------------------------------------- Source: "..\{#LLSrcDir}\htmlObjInfo.js"; DestDir: "{app}\{#LLDestDir}"; Flags: ignoreversion;
;-------------SHARED COMPONENTS---------------------------------- Source: shared\AlCatalogManager5.dll; DestDir: {cf}\AlComponents; Flags: regserver sharedfile uninsnosharedfileprompt Source: Shared\ToolkitPro1850vc150U.dll; DestDir: {sys}; Flags: sharedfile
- Add this procedure on the [Code] section
procedure RunSetup(msg : String; params : String); var ResultCode: Integer; begin if (Exec(ExpandConstant(CurrentFileName), params, '', SW_SHOW, ewWaitUntilTerminated, ResultCode)) then begin // handle success if necessary; ResultCode contains the exit code end else begin MsgBox('Error '+ msg + '. Please retry or contact system administrator. '+ SysErrorMessage(ResultCode), mbError, MB_OK); WizardForm.Close; // handle failure if necessary; ResultCode contains the error code end; end;
Porting procedure to LogicLab 5.14.0.x :
- If you are using old TGT files (not XML format) and using task periods expressed in us, it is necessary to prefix the constant with LTIME specifier: e.g. lt#500us
Porting procedure to LogicLab 5.16.0.x :
- Nothing to be done from previous branch
Porting procedure to LogicLab 5.18.0.x :
- Nothing to be done from previous branch
Porting procedure to LogicLab 5.20.0.x :
- Nothing to be done from previous branch
Porting procedure to LogicLab 5.22.0.x :
- Nothing to be done from previous branch
Porting procedure to LogicLab 6.0.0.x :
IMPORTANT: Those steps are strictly required because LogicLab6 has a different file and folder organization (the folder name inside the redist has changed from LogicLab5 to LogicLab6)
ISS changes
- modify the application name (from LogicLab5 into LogicLab) in ISS (#define NameApp)
- modify the folder name (from LogicLab5 into LogicLab) in the ISS file (#define LLSrcDir)
- Remove the old version (LogicLab5) in the ISS file with InstallDelete, if desired
[InstallDelete] Name: {app}\LogicLab5; Type: filesandordirs
LLMakeCustomVersion.bat changes
- modify the path (from LogicLab5 into LogicLab) (set BUILDPATH)
PCT catalog changes
- Modify the PCT file of every target of your catalog if they have any reference, e.g. "<loadExternalTemplate>..\LogicLab5\templates\Catalog.pct</loadExternalTemplate>" into "<loadExternalTemplate>%APPPATH%\templates\Catalog.pct</loadExternalTemplate>"
- Modify the relative path of system libraries in the catalog, e.g. "<library>..\..\LogicLab5\Libraries\Standard.pll</library>" into "<library>%APPPATH%\Libraries\Standard.pll</library>"
LogicLab is now compiled using Visual Studio 2022.
- Download last Microsoft Visual C++ runtime redist from [here] and overwrite the one you have in the Setup\Shared\redist\VC++ folder of your setupkit.
- Download latest version of shared components from [here] and communication libraries from your customer page and update all binaries on your Setup\Shared folder.
- Download latest version of GDBFileTransfer.dll and LLScanClientLib.dll from [here] and overwrite the ones you have in the Templates folder of your setupkit.
- Add these lines in the ISS file [Files] section:
;-------------SHARED COMPONENTS---------------------------------- Source: shared\AlCatalogManager6.dll; DestDir: {cf}\AlComponents; Flags: regserver sharedfile uninsnosharedfileprompt Source: Shared\ToolkitPro2210vc170U.dll; DestDir: {sys}; Flags: sharedfile Source: Shared\AxEditGrid5.ocx; DestDir: {commoncf}\AlComponents; Flags: regserver sharedfile uninsneveruninstall
- Search in all your catalog html files the old GUID of AxEditGrid4.ocx component and replace it with the new one of AxEditGrid5.ocx
OLD GUID: D62247DB-3391-4236-936F-80EF7F4EA476 NEW GUID: 7E61CABD-EB07-425A-9315-B6B2D454BAC1
Porting procedure to LogicLab 6.1.0.x BETA :
- Nothing to be done from previous branch