Versión afectada: Todos los dispositivos BioStar 2 de firmware con modo maestro RS485, todas las versiones de BioStar 2
Frecuencia de ocurrencia: Ocasionalmente (por versión SW y versión FW)
Archivo de parche disponible: BioStar 2.8.10, 2.8.11, 2.8.12, 2.8.13
Versión corregida: BioStar 2.8.14 (Fecha de lanzamiento: diciembre de 2021)
Descripción del problema
Cuando el dispositivo que se va a utilizar como RS485 Master está conectado al software BioStar 2, y después de seleccionar la configuración a través del menú del dispositivo para configurar el dispositivo, guarde la configuración, BioStar 2 está enviando el valor de parámetro interno incorrecto al dispositivo RS485 Master.
Este parámetro interno transmitido erróneamente se aplica como el valor establecido real cuando el dispositivo RS485 Master se reinicia y la conexión de comunicación con el dispositivo esclavo RS485 se desconecta debido a este efecto. Además, existe el problema de que el dispositivo RS485 Master no puede volver a conectar el dispositivo RS485 Slave.
Dado que la conexión RS485 está desconectada, la puerta no se puede abrir cuando el usuario se autentica en el esclavo RS485.
Esto se puede resolver restableciendo la configuración del dispositivo desde la adición de dispositivos hasta la configuración de puertas.
[Imagen 1- Dispositivo esclavo RS485 desconectado]
Notar
Es importante prevenir los problemas antes de que ocurran.
En un proyecto que controla un botón de puerta o ascensor mediante el funcionamiento de RS485, utilice el siguiente archivo de parche para aplicar.
<1> Cómo evitar el problema de desconexión del RS485
1) Detenga todos los servicios de BioStar (aplicación BioStar Setting).
2) Mueva el archivo de parche para la versión de BioStar 2 instalada actualmente a la ruta de instalación de BioStar 2.
Asegúrese de que la versión del servidor BioStar 2 se ejecute en el PC.
Archivo de parche para 2.8.10/2.8.11/2.8.12/2.8.13: Haga clic aquí
C:\Archivos de programa\BioStar 2 (x64)
Cambie el nombre del archivo a biostar-server.exe, el archivo biostar-server existente hace que el nombre del archivo se bak.
3) Ejecute el programa de conexión de base de datos, y ellos. copie la consulta en "BioStar 2 Patch - Release Note_ENG.txt" según el tipo de base de datos y, a continuación, ejecute la consulta.
Maria DB: Heidi SQL o MySQL Workbench
MSSQL: SQL Management Studio
Puede comprobar si la tabla se creó normalmente ejecutando la consulta "Seleccionar * de T_DEVFORCECMD".
Consulta Maria DB
CREAR TABLA SI NO EXISTE T_DEVFORCECMD
(
DEVID INT NOT NULL,
CMDTYPE INT NOT NULL COMMENT 'Comando tipo ex : 0x012A 298 BS2_CMD_RS485_SET_SLAVE',
RSLT Char(1) DEFAULT 'N' COMMENT 'Y - enviado, N - aún no',
createdAt DATETIME,
actualizadoEn FECHA Y HORA,
CLAVE PRIMARIA (DEVID)
);
ALTER TABLE T_DEVFORCECMD COMMENT = 'Enviar un comando solo una vez al dispositivo de destino'. ;
INSERT IGNORE INTO T_DEVFORCECMD(DEVID,CMDTYPE,RSLT,createdAt,updatedAt) SELECT DEVID, 298,'N', NOW() AS createdAt, NOW() AS updatedAt FROM t_dev DONDE RS4MD <> 'S';
SQL
Consulta de base de datos MSSQL
SI (NO EXISTE (SELECCIONE *
DESDE INFORMATION_SCHEMA. MESAS
DONDE TABLE_SCHEMA = 'dbo'
Y TABLE_NAME = 'T_DEVFORCECMD'))
EMPEZAR
CREAR TABLA [T_DEVFORCECMD](
[DEVID] Int NOT NULL,
[CMDTYPE] Int NOT NULL,
[RSLT] Char(1) NULL CHECK ([RSLT] IN ('Y', 'N')),
[createdAt] DATETIME2 NULL,
[actualizado En] DATETIME2 NULL,
CLAVE PRIMARIA ([DEVID]));
EXEC sp_addextendedproperty 'MS_Description', 'Tipo de comando ex : 0x012A 298 BS2_CMD_RS485_SET_SLAVE', 'USUARIO', DBO, 'TABLA', T_DEVFORCECMD, 'COLUMNA', CMDTYPE;
EXEC sp_addextendedproperty 'MS_Description', 'Y - enviado, N - aún no', 'USUARIO', DBO, 'TABLA', T_DEVFORCECMD, 'COLUMNA', RSLT;
EXEC sp_addextendedproperty 'MS_Description', 'Enviar un comando solo una vez al dispositivo de destino'. , 'USUARIO', DBO, 'TABLA', T_DEVFORCECMD
INSERTAR EN [dbo].[ T_DEVFORCECMD] SELECT DEVID,298,'N',GETDATE() AS createdAt,GETDATE() AS updatedAt FROM t_dev WHERE RS4MD <> 'S';
FIN
SQL
4) Cuando se hayan completado todos los pasos 1-3, inicie todos los servicios de BioStar.
5) En el programa de conexión de base de datos, utilice la consulta a continuación para comprobarlo.
SELECCIONE b. DEVID, a. RSLT DE T_DEVFORCECMD a, T_DEV b DONDE a. DEVID = b. PARENTDEVID Y b. DEL = 'N' Y a. RSLT = 'N'
SQL
Si no hay resultados de búsqueda, entonces el proceso fue exitoso.
- Dependiendo de la situación, está bien eliminar el elemento AND a.RSLT = 'N' y verificar si el valor de la columna RSLT se está cambiando a 'Y'.
- Esta tabla se utiliza para dar la señal de comando Set rs485 solo cuando el valor RSLT es N cuando el dispositivo está conectado a BioStar 2.
Dado que la señal set rs485 Command se da al dispositivo maestro con slave, puede tomar algún tiempo para que el valor de la columna RSLT cambie de 'N' -> 'Y' dependiendo del número de dispositivos conectados a BioStar2.
El parche anterior es un parche que evita el problema y no puede resolver la situación del problema. Si el problema de desconexión RS485 ya se ha producido, continúe con el procedimiento a continuación.
<2> Cómo resolver el problema de desconexión rs485
1) Haga clic en el menú Dispositivo en la lista de menús de la izquierda de BioStar 2.
2) Mueva el cursor del mouse al dispositivo maestro que tiene un problema de desconexión con el esclavo y haga clic con el botón derecho.
3) Haga clic en "Buscar dispositivo esclavo" en el menú del botón derecho.
4) Cuando la ventana emergente "Buscar dispositivo esclavo" haya terminado de cargarse, haga clic en el botón Cancelar para cerrar la ventana emergente.
5) Compruebe si el esclavo se vuelve a conectar al dispositivo maestro con una diferencia horaria.