diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62fbf136..ff2cb6ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,8 +49,9 @@ variables: } Set-Alias 7zip $7zipPath $Target = "Releases\" + $CI_COMMIT_BRANCH + "\" + $env:APP_NAME + ".zip" - $Source = "$env:APP_NAME\bin\*" - 7zip a -tzip $Target $Source + cd "$env:APP_NAME\bin\" + $Source = "*" + 7zip a -tzip $Target $Source -xr!DATA echo "called ZIP $Source --> $Target" # helper creazione hash files diff --git a/CVCncLib/CVCncLib.dll b/CVCncLib/CVCncLib.dll deleted file mode 100644 index 2a41f481..00000000 Binary files a/CVCncLib/CVCncLib.dll and /dev/null differ diff --git a/CVCncLib/CVCncLib.dll.config b/CVCncLib/CVCncLib.dll.config deleted file mode 100644 index 9510dc4f..00000000 --- a/CVCncLib/CVCncLib.dll.config +++ /dev/null @@ -1,48 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://192.168.20.2:8080 - - - http://192.168.20.2:8080 - - - - diff --git a/CVCncLib/CVCncLib.xml b/CVCncLib/CVCncLib.xml deleted file mode 100644 index 8578b5e6..00000000 --- a/CVCncLib/CVCncLib.xml +++ /dev/null @@ -1,11418 +0,0 @@ - - - - -CVCncLib - - - - - - Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via. - - - - - Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe. - - - - - Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le - ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata. - - - - - Verifica se è installata la WINNBI e se è una versione compatibile con .NET - - Versione compatibile con framework .NET - - - - restituisce la versione installata di WINNBI - - - - - The INIReader class can read keys from and write keys to an INI file. - - - This class uses several Win32 API functions to read from and write to INI files. It will not work on Linux or FreeBSD. - - - - - The GetPrivateProfileInt function retrieves an integer associated with a key in the specified section of an initialization file. - - Pointer to a null-terminated string specifying the name of the section in the initialization file. - Pointer to the null-terminated string specifying the name of the key whose value is to be retrieved. This value is in the form of a string; the GetPrivateProfileInt function converts the string into an integer and returns the integer. - Specifies the default value to return if the key name cannot be found in the initialization file. - Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. - The return value is the integer equivalent of the string following the specified key name in the specified initialization file. If the key is not found, the return value is the specified default value. If the value of the key is less than zero, the return value is zero. - - - - The WritePrivateProfileString function copies a string into the specified section of an initialization file. - - Pointer to a null-terminated string containing the name of the section to which the string will be copied. If the section does not exist, it is created. The name of the section is case-independent; the string can be any combination of uppercase and lowercase letters. - Pointer to the null-terminated string containing the name of the key to be associated with a string. If the key does not exist in the specified section, it is created. If this parameter is NULL, the entire section, including all entries within the section, is deleted. - Pointer to a null-terminated string to be written to the file. If this parameter is NULL, the key pointed to by the lpKeyName parameter is deleted. - Pointer to a null-terminated string that specifies the name of the initialization file. - If the function successfully copies the string to the initialization file, the return value is nonzero; if the function fails, or if it flushes the cached version of the most recently accessed initialization file, the return value is zero. - - - - The GetPrivateProfileString function retrieves a string from the specified section in an initialization file. - - Pointer to a null-terminated string that specifies the name of the section containing the key name. If this parameter is NULL, the GetPrivateProfileString function copies all section names in the file to the supplied buffer. - Pointer to the null-terminated string specifying the name of the key whose associated string is to be retrieved. If this parameter is NULL, all key names in the section specified by the lpAppName parameter are copied to the buffer specified by the lpReturnedString parameter. - Pointer to a null-terminated default string. If the lpKeyName key cannot be found in the initialization file, GetPrivateProfileString copies the default string to the lpReturnedString buffer. This parameter cannot be NULL.
Avoid specifying a default string with trailing blank characters. The function inserts a null character in the lpReturnedString buffer to strip any trailing blanks.
- Pointer to the buffer that receives the retrieved string. - Specifies the size, in TCHARs, of the buffer pointed to by the lpReturnedString parameter. - Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. - The return value is the number of characters copied to the buffer, not including the terminating null character. -
- - - The GetPrivateProfileSectionNames function retrieves the names of all sections in an initialization file. - - Pointer to a buffer that receives the section names associated with the named file. The buffer is filled with one or more null-terminated strings; the last string is followed by a second null character. - Specifies the size, in TCHARs, of the buffer pointed to by the lpszReturnBuffer parameter. - Pointer to a null-terminated string that specifies the name of the initialization file. If this parameter is NULL, the function searches the Win.ini file. If this parameter does not contain a full path to the file, the system searches for the file in the Windows directory. - The return value specifies the number of characters copied to the specified buffer, not including the terminating null character. If the buffer is not large enough to contain all the section names associated with the specified initialization file, the return value is equal to the length specified by nSize minus two. - - - - The WritePrivateProfileSection function replaces the keys and values for the specified section in an initialization file. - - Pointer to a null-terminated string specifying the name of the section in which data is written. This section name is typically the name of the calling application. - Pointer to a buffer containing the new key names and associated values that are to be written to the named section. - Pointer to a null-terminated string containing the name of the initialization file. If this parameter does not contain a full path for the file, the function searches the Windows directory for the file. If the file does not exist and lpFileName does not contain a full path, the function creates the file in the Windows directory. The function does not create a file if lpFileName contains the full path and file name of a file that does not exist. - If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
-
- - Constructs a new IniReader instance. - Specifies the full path to the INI file (the file doesn't have to exist). - - - Gets or sets the full path to the INI file. - A String representing the full path to the INI file. - - - - Gets or sets the section you're working in. (aka 'the active section') - A String representing the section you're working in. - - - - Reads an Integer from the specified key of the specified section. - The section to search in. - The key from which to return the value. - The value to return if the specified key isn't found. - Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. - - - Reads an Integer from the specified key of the specified section. - The section to search in. - The key from which to return the value. - Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file. - - - Reads an Integer from the specified key of the active section. - The key from which to return the value. - The section to search in. - Returns the value of the specified Key, or returns the default value if the specified Key isn't found in the active section of the INI file. - - - Reads an Integer from the specified key of the active section. - The key from which to return the value. - Returns the value of the specified key, or returns 0 if the specified key isn't found in the active section of the INI file. - - - Reads a String from the specified key of the specified section. - The section to search in. - The key from which to return the value. - The value to return if the specified key isn't found. - Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. - - - Reads a String from the specified key of the specified section. - The section to search in. - The key from which to return the value. - Returns the value of the specified section/key pair, or returns an empty String if the specified section/key pair isn't found in the INI file. - - - Reads a String from the specified key of the active section. - The key from which to return the value. - Returns the value of the specified key, or returns an empty String if the specified key isn't found in the active section of the INI file. - - - Reads a Long from the specified key of the specified section. - The section to search in. - The key from which to return the value. - The value to return if the specified key isn't found. - Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. - - - Reads a Long from the specified key of the specified section. - The section to search in. - The key from which to return the value. - Returns the value of the specified section/key pair, or returns 0 if the specified section/key pair isn't found in the INI file. - - - Reads a Long from the specified key of the active section. - The key from which to return the value. - The section to search in. - Returns the value of the specified key, or returns the default value if the specified key isn't found in the active section of the INI file. - - - Reads a Long from the specified key of the active section. - The key from which to return the value. - Returns the value of the specified Key, or returns 0 if the specified Key isn't found in the active section of the INI file. - - - Reads a Byte array from the specified key of the specified section. - The section to search in. - The key from which to return the value. - Returns the value of the specified section/key pair, or returns null (Nothing in VB.NET) if the specified section/key pair isn't found in the INI file. - - - Reads a Byte array from the specified key of the active section. - The key from which to return the value. - Returns the value of the specified key, or returns null (Nothing in VB.NET) if the specified key pair isn't found in the active section of the INI file. - - - Reads a Boolean from the specified key of the specified section. - The section to search in. - The key from which to return the value. - The value to return if the specified key isn't found. - Returns the value of the specified section/key pair, or returns the default value if the specified section/key pair isn't found in the INI file. - - - Reads a Boolean from the specified key of the specified section. - The section to search in. - The key from which to return the value. - Returns the value of the specified section/key pair, or returns false if the specified section/key pair isn't found in the INI file. - - - Reads a Boolean from the specified key of the specified section. - The key from which to return the value. - The value to return if the specified key isn't found. - Returns the value of the specified key pair, or returns the default value if the specified key isn't found in the active section of the INI file. - - - Reads a Boolean from the specified key of the specified section. - The key from which to return the value. - Returns the value of the specified key, or returns false if the specified key isn't found in the active section of the INI file. - - - Writes an Integer to the specified key in the specified section. - The section to write in. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes an Integer to the specified key in the active section. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a String to the specified key in the specified section. - Specifies the section to write in. - Specifies the key to write to. - Specifies the value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a String to the specified key in the active section. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Long to the specified key in the specified section. - The section to write in. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Long to the specified key in the active section. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Byte array to the specified key in the specified section. - The section to write in. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Byte array to the specified key in the active section. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Byte array to the specified key in the specified section. - The section to write in. - The key to write to. - The value to write. - An offset in value. - The number of elements of value to convert. - Returns true if the function succeeds, false otherwise. - - - Writes a Boolean to the specified key in the specified section. - The section to write in. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Writes a Boolean to the specified key in the active section. - The key to write to. - The value to write. - Returns true if the function succeeds, false otherwise. - - - Deletes a key from the specified section. - The section to delete from. - The key to delete. - Returns true if the function succeeds, false otherwise. - - - Deletes a key from the active section. - The key to delete. - Returns true if the function succeeds, false otherwise. - - - - Deletes a section from an INI file. - The section to delete. - Returns true if the function succeeds, false otherwise. - - - - Retrieves a list of all available sections in the INI file. - - - Returns an ArrayList with all available sections. - - - - - Holds the full path to the INI file. - - - - - Holds the active section name - - - - - The maximum number of bytes in a section buffer. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/IOB-UT-NEXT/Enums.cs b/IOB-UT-NEXT/Enums.cs index 9e8c3e6d..090da652 100644 --- a/IOB-UT-NEXT/Enums.cs +++ b/IOB-UT-NEXT/Enums.cs @@ -319,6 +319,11 @@ namespace IOB_UT_NEXT /// OpcUaEwon, + /// + /// Adapter OPC-UA per Ewon x Monti / Tenditalia + /// + OpcUaEwonMonti, + /// /// Adapter OSAI CNDEX (Cndex) /// diff --git a/IOB-UT-NEXT/ToMapo.cs b/IOB-UT-NEXT/ToMapo.cs index 3208a847..0e9f1724 100644 --- a/IOB-UT-NEXT/ToMapo.cs +++ b/IOB-UT-NEXT/ToMapo.cs @@ -328,6 +328,29 @@ namespace IOB_UT_NEXT #endregion Public Properties } + /// + /// Definizione parametri watchdog + /// + public class WatchDogConf + { + /// + /// Abilitazione WatchDog + /// + public bool IsEnabled { get; set; } = false; + /// + /// Conf memoria x lettura WatchDog (ToMes), se !="" è gestito + /// + public string MemConfRead { get; set; } = ""; + /// + /// Conf memoria x scrittura WatchDog (FromMes), se !="" è gestito + /// + public string MemConfWrite { get; set; } = ""; + /// + /// Valore max contatore prima di resettare + /// + public int MaxVal { get; set; } = 9999; + } + /// /// Classe gestione configurazione parametri specifici OPC-UA da BaseParamConf /// @@ -385,6 +408,15 @@ namespace IOB_UT_NEXT /// public diCheckCondSetup condWarmUpCoolDown { get; set; } = new diCheckCondSetup(); + /// + /// Struttura dati x check condizione Warning + /// + public diCheckCondSetup condWarning { get; set; } = new diCheckCondSetup(); + /// + /// Struttura dati x check condizione Setup + /// + public diCheckCondSetup condSetup { get; set; } = new diCheckCondSetup(); + /// /// Elenco dei NodeId da ignorare intesi come interi rami (se vuoto NON filtro) /// @@ -405,6 +437,11 @@ namespace IOB_UT_NEXT /// public List subscribedItems { get; set; } = new List(); + /// + /// Conf Gestione WatchDog + /// + public WatchDogConf WatchDog{get;set;} = new WatchDogConf(); + #endregion Public Properties } } \ No newline at end of file diff --git a/IOB-WIN-NEXT/AdapterForm.cs b/IOB-WIN-NEXT/AdapterForm.cs index 5baa998e..920d5b7b 100644 --- a/IOB-WIN-NEXT/AdapterForm.cs +++ b/IOB-WIN-NEXT/AdapterForm.cs @@ -1218,6 +1218,11 @@ namespace IOB_WIN_NEXT start.Enabled = true; break; + case tipoAdapter.OpcUaEwonMonti: + iobObj = new IobOpcUaEwonMonti(this, IOBConf); + start.Enabled = true; + break; + case tipoAdapter.PingWatchdog: iobObj = new IobPing(this, IOBConf); start.Enabled = true; diff --git a/IOB-WIN-NEXT/DATA/CONF/3024.ini b/IOB-WIN-NEXT/DATA/CONF/3024.ini new file mode 100644 index 00000000..fa5c123a --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/3024.ini @@ -0,0 +1,67 @@ +;Configurazione IOB-WIN +[IOB] +;Tornio Biglia 438 controllo Mitsubishi MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=BIGLIA +MODEL=438 + +[CNC] +IP=192.168.1.27 +PORT=5000 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.7 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +ADDR_READ=DB9999.DBB0 +ADDR_WRITE=DB9999.DBB0 +SIZE_READ=0 +SIZE_WRITE=0 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=3024.json + +[BRANCH] +NAME=master diff --git a/IOB-WIN-NEXT/DATA/CONF/3024.json b/IOB-WIN-NEXT/DATA/CONF/3024.json new file mode 100644 index 00000000..4d9c3dd4 --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/3024.json @@ -0,0 +1,34 @@ +{ + "keyPartCount": "part_count_all_1", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "program_1", + "keyRunMode": "controller_mode_1", + "keyEStop": "emergency_stop", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "availability", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "execution_1", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "availability": "Machine Available", + "execution_1": "Execution Mode", + "controller_mode_1": "Controller Mode", + "program_1": "Program Name", + "part_count_all_1": "Contapezzi", + "part_count_target_1": "Qta Richiesta", + "path_feedrate_override_prog_1": "PATH FEED OVERRIDE", + "path_feedrate_override_rapid_1": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini index 06eaebb3..cf107e9e 100644 --- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini +++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini @@ -72,6 +72,6 @@ CLI_INST=SteamWareSim ;STARTLIST=FP_TR2 ;STARTLIST=PING ;STARTLIST=SIM_PIZ03 -STARTLIST=PIZ09 +STARTLIST=PING MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/STEL_200.ini b/IOB-WIN-NEXT/DATA/CONF/STEL_200.ini new file mode 100644 index 00000000..a79c8aa7 --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/STEL_200.ini @@ -0,0 +1,69 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro OpcUa +CNCTYPE=OpcUaEwon +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=Mecolpress +MODEL=Pressa + +[CNC] +IP=192.168.1.200 +PORT=4840 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.65 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +ADDR_READ=DB9999.DBB0 +ADDR_WRITE=DB9999.DBB0 +SIZE_READ=0 +SIZE_WRITE=0 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +AUTO_CHANGE_ODL=false +CHANGE_ODL_MODE=PZCOUNT_RESET +PZCOUNT_MODE=OPC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_CLI_RESTART=TRUE + +; conf parametri memoria READ/WRITE +OPC_PARAM_CONF=STEL_200.json + +[BRANCH] +NAME=master \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/STEL_200.json b/IOB-WIN-NEXT/DATA/CONF/STEL_200.json new file mode 100644 index 00000000..6cc6df49 --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/STEL_200.json @@ -0,0 +1,151 @@ +{ + "BrowseFullVal": "ns=4;i=5001", + "BrowseNSIndex": 4, + "BrowseValue": 5001, + "keyPartCount": "tomes_17_partial_prod", + "keyPartReq": "tomach_6_quantity", + "keyPartId": "", + "keyProgName": "", + "keyRunMode": "", + "pingAsPowerOn": true, + "condWork": [ + { + "keyName": "tomes_5_autom", + "targetValue": "True" + } + ], + "condPowerOn": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "tomes_2_mach_on", + "targetValue": "True" + } + ] + }, + "condReady": { + "checkMode": "AND", + "checkList": [] + }, + "condManual": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "tomes_6_manual", + "targetValue": "True" + } + ] + }, + "condEStop": { + "checkMode": "AND", + "checkList": [] + }, + "condError": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "tomes_7_alarm", + "targetValue": "True" + } + ] + }, + "condCountEnabled": { + "checkMode": "AND", + "checkList": [] + }, + "condWarmUpCoolDown": { + "checkMode": "OR", + "checkList": [] + }, + "condwarning": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "tomes_8_warning", + "targetValue": "True" + } + ] + }, + "condSetup": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "tomes_3_setup", + "targetValue": "True" + } + ] + }, + "fluxLogVeto": [ + "L2p1CommonVariable" + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "tomes_13_good_prod": "Pezzi Prodotta", + "tomach_6_quantity": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "InvDDone": 50 + }, + "mMapWrite": { + "setPzComm": { + "name": "setPzComm", + "description": "Qty", + "tipoMem": "Int", + "memAddr": "ns=4;s=tomach_6_quantity", + "index": 0, + "size": -1 + }, + "setComm": { + "name": "setComm", + "description": "Commessa", + "tipoMem": "String", + "memAddr": "ns=4;s=tomach_4_prod_order", + "index": 0, + "size": 24 + }, + "setArt": { + "name": "setArt", + "description": "Articolo", + "tipoMem": "String", + "memAddr": "ns=4;s=tomach_3_code_die", + "index": 0, + "size": 24 + } + }, + "subscribedItems": [ + "tomes_ 1_Watchdog", + "tomes_2_mach_on", + "tomes_3_setup", + "tomes_4_impulse", + "tomes_5_autom", + "tomes_6_manual", + "tomes_7_alarm", + "tomes_8_warning", + "tomes_10_cycle_life", + "tomes_11_ack_new_order", + "tomes_13_good_prod", + "tomes_14_bad_prod_calipso", + "tomes_15_bad_prod_startup", + "tomes_16_bad_prod_stop", + "tomes_17_partial_prod", + "tomes_18_total_prod", + "tomes_20_code_die", + "tomes_21_order", + "tomach_1_watchdog", + "tomach_2_new_prod", + "tomach_3_code_die", + "tomach_4_prod_order", + "tomach_6_quantity" + ], + "WatchDog": { + "IsEnabled": true, + "MemConfRead": "tomes_ 1_Watchdog", + "MemConfWrite": "tomach_1_watchdog", + "MaxVal": 9999 + } +} \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.ini b/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.ini new file mode 100644 index 00000000..59aca734 --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.ini @@ -0,0 +1,69 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro OpcUa +CNCTYPE=OpcUaEwonMonti +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=Monti +MODEL=Std + +[CNC] +IP=192.168.250.53 +PORT=4840 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.10.7 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +ADDR_READ=DB9999.DBB0 +ADDR_WRITE=DB9999.DBB0 +SIZE_READ=0 +SIZE_WRITE=0 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +AUTO_CHANGE_ODL=false +CHANGE_ODL_MODE=PZCOUNT_RESET +PZCOUNT_MODE=OPC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_CLI_RESTART=TRUE + +; conf parametri memoria READ/WRITE +OPC_PARAM_CONF=Tend_250_53.json + +[BRANCH] +NAME=master \ No newline at end of file diff --git a/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.json b/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.json new file mode 100644 index 00000000..3d6c0421 --- /dev/null +++ b/IOB-WIN-NEXT/DATA/CONF/Tend_250_53.json @@ -0,0 +1,121 @@ +{ + "BrowseFullVal": "ns=4;i=5001", + "BrowseNSIndex": 4, + "BrowseValue": 5001, + "keyPartCount": "IO_150", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "", + "keyRunMode": "IO_129", + "pingAsPowerOn": true, + "condWork": [ + { + "keyName": "IO_120.03", + "targetValue": "True" + } + ], + "condPowerOn": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "IO_120.00", + "targetValue": "True" + } + ] + }, + "condReady": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "IO_121.00", + "targetValue": "True" + } + ] + }, + "condManual": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "IO_120.06", + "targetValue": "True" + } + ] + }, + "condEStop": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "IO_121.02", + "targetValue": "True" + } + ] + }, + "condError": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "IO_120.08", + "targetValue": "True" + } + ] + }, + "condCountEnabled": { + "checkMode": "AND", + "checkList": [] + }, + "condWarmUpCoolDown": { + "checkMode": "OR", + "checkList": [ + { + "keyName": "IO_120.04", + "targetValue": "True" + }, + { + "keyName": "IO_120.05", + "targetValue": "True" + } + ] + }, + "fluxLogVeto": [ + "L2p1CommonVariable" + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "IO_150": "Qta Prodotta (metri)", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "InvDDone": 50 + }, + "mMapWrite": { + "setPzComm": { + "name": "setPzComm", + "description": "Qty", + "tipoMem": "Int", + "memAddr": "ns=4;s=IO_153", + "index": 0, + "size": -1 + }, + "setComm": { + "name": "setComm", + "description": "Commessa", + "tipoMem": "String", + "memAddr": "ns=4;s=ST_80", + "index": 0, + "size": 20 + }, + "setArt": { + "name": "setArt", + "description": "Articolo", + "tipoMem": "String", + "memAddr": "ns=4;s=ST_80", + "index": 20, + "size": 20 + } + } +} \ No newline at end of file diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 28e94542..242d32cd 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -109,20 +109,21 @@ ..\packages\OmronFinsTCP.Net.3.0.0.0\lib\net40\OmronFinsTCP.Net.dll - ..\packages\OPCFoundation.NetStandard.Opc.Ua.Client.1.4.367.42\lib\net462\Opc.Ua.Client.dll + ..\packages\OPCFoundation.NetStandard.Opc.Ua.Client.1.4.367.75\lib\net462\Opc.Ua.Client.dll - ..\packages\OPCFoundation.NetStandard.Opc.Ua.Configuration.1.4.367.42\lib\net462\Opc.Ua.Configuration.dll + ..\packages\OPCFoundation.NetStandard.Opc.Ua.Configuration.1.4.367.75\lib\net462\Opc.Ua.Configuration.dll - ..\packages\OPCFoundation.NetStandard.Opc.Ua.Core.1.4.367.42\lib\net462\Opc.Ua.Core.dll + ..\packages\OPCFoundation.NetStandard.Opc.Ua.Core.1.4.367.75\lib\net462\Opc.Ua.Core.dll - ..\packages\OPCFoundation.NetStandard.Opc.Ua.Security.Certificates.1.4.367.42\lib\net462\Opc.Ua.Security.Certificates.dll + ..\packages\OPCFoundation.NetStandard.Opc.Ua.Security.Certificates.1.4.367.75\lib\net462\Opc.Ua.Security.Certificates.dll - - ..\packages\RestSharp.106.13.0\lib\net452\RestSharp.dll + + ..\packages\RestSharp.105.2.3\lib\net46\RestSharp.dll + True ..\packages\S7netplus.0.1.9\lib\net45\S7.Net.dll @@ -133,8 +134,8 @@ - - ..\packages\System.Formats.Asn1.5.0.0\lib\net461\System.Formats.Asn1.dll + + ..\packages\System.Formats.Asn1.6.0.0\lib\net461\System.Formats.Asn1.dll @@ -181,6 +182,7 @@ VersGen.cs + @@ -256,6 +258,12 @@ Always + + Always + + + Always + Always @@ -463,6 +471,10 @@ Always + + + + Always diff --git a/IOB-WIN-NEXT/IobOpcUa.cs b/IOB-WIN-NEXT/IobOpcUa.cs index 7774b151..1507b508 100644 --- a/IOB-WIN-NEXT/IobOpcUa.cs +++ b/IOB-WIN-NEXT/IobOpcUa.cs @@ -165,7 +165,7 @@ namespace IOB_WIN_NEXT } /// - /// Indica se sia in stato SWarmUp / CoolDown (riscaldamento/raffreddamento) + /// Indica se sia in stato WarmUp / CoolDown (riscaldamento/raffreddamento) /// protected bool isWarmUpCoolDown { @@ -175,6 +175,27 @@ namespace IOB_WIN_NEXT } } + /// + /// Indica se sia in stato Warning + /// + protected bool isWarning + { + get + { + return checkMultiCondition(opcUaParams.condWarning.checkList, opcUaParams.condWarning.checkMode); + } + } + /// + /// Indica se sia in stato Ssetup + /// + protected bool isSetup + { + get + { + return checkMultiCondition(opcUaParams.condSetup.checkList, opcUaParams.condSetup.checkMode); + } + } + /// /// Indica se abbia stato READY (condizioni varie, es ausiliari OK) /// @@ -353,7 +374,7 @@ namespace IOB_WIN_NEXT // loggo elenco degli item sottocrivibili... lgInfo("---------- SUBSCRIBED NODES ----------"); - foreach (var item in nodeIdNameList) + foreach (var item in selectedItemList) { lgInfo(item.Key); } @@ -466,9 +487,38 @@ namespace IOB_WIN_NEXT private void UA_ref_eh_MonItChange(object sender, opcUaMonitItemChange e) { checkAndSend(e.CurrMonitoredItem, $"{e.CurrNotify.Value}", false); + // se abilitato watchdog... + if (opcUaParams.WatchDog.IsEnabled) + { + // se fosse watchdog --> processo il mio... + if (e.CurrMonitoredItem.DisplayName == opcUaParams.WatchDog.MemConfRead) + { + try + { + WatchDog++; + WatchDog = WatchDog > opcUaParams.WatchDog.MaxVal ? 0 : WatchDog; + + WriteValue commWriteVal = new WriteValue(); + commWriteVal.NodeId = new NodeId(opcUaParams.WatchDog.MemConfWrite); + commWriteVal.AttributeId = Attributes.Value; + commWriteVal.Value = new DataValue(); + commWriteVal.Value.Value = WatchDog; + + List nodes2Write = new List(); + nodes2Write.Add(commWriteVal); + UA_ref.WriteNodes(nodes2Write); + } + catch(Exception exc) + { + lgError($"Eccezione in gestione WatchDog, valore attuale {WatchDog}{Environment.NewLine}{exc}"); + } + } + } lastCurrent = DateTime.Now; } + protected int WatchDog = 0; + #endregion Private Methods #region Protected Methods diff --git a/IOB-WIN-NEXT/IobOpcUaEwon.cs b/IOB-WIN-NEXT/IobOpcUaEwon.cs index b6c452c2..9a7ac7f2 100644 --- a/IOB-WIN-NEXT/IobOpcUaEwon.cs +++ b/IOB-WIN-NEXT/IobOpcUaEwon.cs @@ -38,8 +38,6 @@ namespace IOB_WIN_NEXT { CHANGE_ODL_MODE = getOptPar("CHANGE_ODL_MODE"); } - // impostazioni specifiche Ewon di Monti - forceResetInRun = true; sendKeyRichiesta = true; } @@ -145,24 +143,6 @@ namespace IOB_WIN_NEXT /// protected override void plcWriteParams(ref List updatedPar) { -#if false - if (!testDone) - { - try - { - if (UA_ref != null) - { - UA_ref.WriteTestNodes(); - testDone = true; - } - } - catch (Exception exc) - { - lgError($"Eccezione in WriteTestNodes{Environment.NewLine}{exc}"); - } - } -#endif - dataConf currMem = null; int byteSize = 0; string memAddrWrite = ""; @@ -211,7 +191,6 @@ namespace IOB_WIN_NEXT case plcDataType.DWord: int.TryParse(item.reqValue, out valInt); commWriteVal.Value.Value = valInt; - memAddrWrite = currMem.memAddr; break; case plcDataType.Real: @@ -220,26 +199,7 @@ namespace IOB_WIN_NEXT break; case plcDataType.String: - - // verifico caso speciale: se è art/comm scrivo AFFIANCATE... - if (item.uid == "setArt" | item.uid == "setComm") - { - // accodo commessa + articolo con padding secondo lunghezza... - string codArt = ""; - if (currProdData.ContainsKey("setArt")) - { - codArt = string.IsNullOrEmpty(currProdData["setArt"]) ? "" : currProdData["setArt"]; - } - string codComm = ""; - if (currProdData.ContainsKey("setComm")) - { - codComm = string.IsNullOrEmpty(currProdData["setComm"]) ? "" : currProdData["setComm"]; - } - // padding... - codArt = codArt.PadRight(20, ' '); - codComm = codComm.PadRight(20, ' '); - commWriteVal.Value.Value = $"{codComm}{codArt}"; - } + commWriteVal.Value.Value = item.reqValue; break; default: diff --git a/IOB-WIN-NEXT/IobOpcUaEwonMonti.cs b/IOB-WIN-NEXT/IobOpcUaEwonMonti.cs new file mode 100644 index 00000000..d59d53fb --- /dev/null +++ b/IOB-WIN-NEXT/IobOpcUaEwonMonti.cs @@ -0,0 +1,237 @@ +using MapoSDK; +using Newtonsoft.Json; +using Opc.Ua; +using System; +using System.Collections.Generic; + +namespace IOB_WIN_NEXT +{ + public class IobOpcUaEwonMonti : IobOpcUaEwon + { + #region Public Constructors + + /// + /// Estende l'init della classe base, impiegando il pacchetto Nuget OPC-UA foundation con la gestione specifica per EWON (es Monti, Tenditalia) + /// https://github.com/OPCFoundation/UA-.NETStandard + /// + /// + /// + public IobOpcUaEwonMonti(AdapterForm caller, IobConfiguration IOBConf) : base(caller, IOBConf) + { + lgInfo("Init Ewon versione Monti (tenditalia)"); + // inizializzo classe base... + if (!string.IsNullOrEmpty(getOptPar("CHANGE_ODL_MODE"))) + { + CHANGE_ODL_MODE = getOptPar("CHANGE_ODL_MODE"); + } + // impostazioni specifiche Ewon di Monti + forceResetInRun = true; + sendKeyRichiesta = true; + } + + #endregion Public Constructors + + #region Protected Methods + + /// + /// Effettua vera scrittura parametri + /// + /// + protected override void plcWriteParams(ref List updatedPar) + { +#if false + if (!testDone) + { + try + { + if (UA_ref != null) + { + UA_ref.WriteTestNodes(); + testDone = true; + } + } + catch (Exception exc) + { + lgError($"Eccezione in WriteTestNodes{Environment.NewLine}{exc}"); + } + } +#endif + + dataConf currMem = null; + int byteSize = 0; + string memAddrWrite = ""; + string serObj = ""; + if (updatedPar != null) + { + List nodes2Write = new List(); + // controllo i parametri... ne gestisco 4... + foreach (var item in updatedPar) + { + try + { + memAddrWrite = ""; + int valInt = 0; + double valReal = 0; + // cerco in area memMapWrite... + if (memMap.mMapWrite.ContainsKey(item.uid)) + { + // recupero! + currMem = memMap.mMapWrite[item.uid]; + byteSize = currMem.size; + memAddrWrite = currMem.memAddr; + + WriteValue commWriteVal = new WriteValue(); + commWriteVal.NodeId = new NodeId(currMem.memAddr); + commWriteVal.AttributeId = Attributes.Value; + commWriteVal.Value = new DataValue(); + commWriteVal.Value.Value = item.reqValue; + + // faccio preliminarmente upsertKey... + upsertKey(currMem.name, currMem.value); + serObj = JsonConvert.SerializeObject(item); + lgInfo($"Inizio processing plcWriteParams per {currMem.name} | valore richiesto {currMem.value}"); + lgInfo($"---------------{Environment.NewLine}UPDATED PARAM:{Environment.NewLine}{serObj}{Environment.NewLine}---------------"); + serObj = JsonConvert.SerializeObject(currMem); + lgInfo($"---------------{Environment.NewLine}MEMORY CONTENT:{Environment.NewLine}{serObj}{Environment.NewLine}---------------"); + + switch (currMem.tipoMem) + { + case plcDataType.Boolean: + break; + + case plcDataType.Int: + case plcDataType.DInt: + case plcDataType.Word: + case plcDataType.DWord: + int.TryParse(item.reqValue, out valInt); + commWriteVal.Value.Value = valInt; + memAddrWrite = currMem.memAddr; + break; + + case plcDataType.Real: + double.TryParse(item.reqValue, out valReal); + commWriteVal.Value.Value = valReal; + break; + + case plcDataType.String: + + // verifico caso speciale: se è art/comm scrivo AFFIANCATE... + if (item.uid == "setArt" | item.uid == "setComm") + { + // accodo commessa + articolo con padding secondo lunghezza... + string codArt = ""; + if (currProdData.ContainsKey("setArt")) + { + codArt = string.IsNullOrEmpty(currProdData["setArt"]) ? "" : currProdData["setArt"]; + } + string codComm = ""; + if (currProdData.ContainsKey("setComm")) + { + codComm = string.IsNullOrEmpty(currProdData["setComm"]) ? "" : currProdData["setComm"]; + } + // padding... + codArt = codArt.PadRight(20, ' '); + codComm = codComm.PadRight(20, ' '); + commWriteVal.Value.Value = $"{codComm}{codArt}"; + } + break; + + default: + break; + } + lgInfo($"---------------{Environment.NewLine}OPC-UA data:{Environment.NewLine}NodeId: {commWriteVal.NodeId}{Environment.NewLine}Value: {commWriteVal.Value.Value}{Environment.NewLine}---------------"); + + if (!string.IsNullOrEmpty(memAddrWrite)) + { + nodes2Write.Add(commWriteVal); + } + else + { + lgInfo($"Errore: memAddrWrite vuoto!"); + } + } + else + { + lgInfo($"Errore uid non trovato in area write memory: {item.uid}, ci sono {memMap.mMapWrite.Count} in area write"); + } + } + catch (Exception exc) + { + lgError($"Eccezione in fase di plcWriteParams per item {item.uid} con valore {item.value}{Environment.NewLine}{exc}"); + } + } + + if (nodes2Write.Count > 0) + { + UA_ref.WriteNodes(nodes2Write); + } + } + } + + #endregion Protected Methods + + #region Public Methods + + /// + /// Effettua vero processing contapezzi + /// + public override void processContapezzi() + { + if (utils.CRB("enableContapezzi")) + { + // check condizione validazione + if (checkMultiCondition(opcUaParams.condCountEnabled.checkList, opcUaParams.condCountEnabled.checkMode) || opcUaParams.condCountEnabled.checkList.Count == 0) + { + // cerco parametro contapezzi... + string currPzCount = getDataItemValue(opcUaParams.keyPartCount); + + // se ho un contapezzi... processo... + if (!string.IsNullOrEmpty(currPzCount)) + { + int newVal = -1; + bool fatto = Int32.TryParse(currPzCount, out newVal); + + if (fatto) + { + // gestione decremento contapezzi: viene "messo via" solo SE c'è un effettivo decremento contapezzi... + if (newVal < contapezziPLC) + { + pzCountResetted = true; + // incremento contatore richiesta + countKeyRichiesta = countKeyRichiesta + 1; + // log + lgInfo("Contapezzi resettato (PLC) --> pzCountResetted = true"); + } + + // salvo nuovo valore contapezziPLC + contapezziPLC = newVal > -1 ? newVal : contapezziPLC; + } + else + { + lgError($"Errore in decodifica valore contapezzi, valore rilevato: {currPzCount}"); + } + } + else + { + lgError("Errore in decodifica valore contapezzi, valore vuoto!"); + } + } + + if (CHANGE_ODL_MODE == "PZCOUNT_RESET") + { + // controllo comunque, se è ZERO il contapezzi, e sul server è maggiore il valore x ODL e NON abilitato il trigger reset --> abilito trigger... + if (!pzCountResetted && contapezziPLC == 0 && contapezziIOB > 0) + { + pzCountResetted = true; + // incremento contatore richiesta + countKeyRichiesta = countKeyRichiesta + 1; + // log + lgInfo("Contapezzi resettato (PLC==0 e IOB>PLC) --> pzCountResetted = true"); + } + } + } + } + + #endregion Public Methods + } +} \ No newline at end of file diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 18e22bed..e019028d 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -10,19 +10,19 @@ - - - - + + + + - + - +