Отправка команды

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Сообщения
  • #9947
    holg
    Участник

    Пытаюсь отправить команду из своего модуля сервера командой ServerCommands.PassCommand(cmd);. После отправки команды срабатывает обработчик OnCommandReceived, но на ПЛК команда не приходит (с самой командой все в порядке, при отправке через Web-интерфейс все нормально работает). Так и должно быть? Для отправки команд на ПЛК придется задействовать новый экземпляр класса ScadaComm?

    #9948
    Mikhail
    Модератор

    Проверьте в журнале Коммуникатора, получает ли он эту команду.
    Возможно, какие-либо свойства команды не заданы.

    Для отправки команд на ПЛК придется задействовать новый экземпляр класса ScadaComm?

    Это лишнее.

    #9949
    holg
    Участник

    Странно, судя по логам коммуникатора, команда проходит.
    Приведу на всякий случай листинг, вдруг я что-то упускаю важное:

    public override void OnCommandReceived(int ctrlCnlNum, Command cmd, int userID, ref bool passToClients)
    {
    	var cmdNumsList = new List<int>() { 5, 6, 7, 8 };
    	const int MyKpNum = 7001;
    	const int MyCmdNum = 7001;
    	const double MyCmdVal = 1.0;
    				
    	this.WriteToLog("Cmd recieved = " + cmd.CmdNum, Log.ActTypes.Information);
    	
    	if (cmdNumsList.Contains(cmd.CmdNum))
    	{
    		WriteToLog("Send command by the module " + Name, Log.ActTypes.Action);
    		var newCmd = new Command(BaseValues.CmdTypes.Standard);
    		newCmd.KPNum = MyKpNum;
    		newCmd.CmdNum = MyCmdNum;
    		newCmd.CmdVal = MyCmdVal;
    		ServerCommands.PassCommand(newCmd);
    		
    		this.WriteToLog("Cmd passed = " + newCmd.CmdNum, Log.ActTypes.Information);
    	}
    	
    	base.OnCommandReceived(ctrlCnlNum, cmd, userID, ref passToClients);
    }
    #9950
    Mikhail
    Модератор

    Странно, судя по логам коммуникатора, команда проходит.

    Можете скопировать сюда часть лога, в котором это видно?
    Что в журнале линии связи в момент команды?

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Вы должны авторизироваться для ответа в этой теме.