Можно тогда скриншот ошибки, которая возникает при попытке логина с пустым паролем?
При использовании Putty та же самая ситуация?
Вид для печати
1) Putty настройки:
Вложение 22970
Ввод логина root и пустого пароля, результат:
Вложение 22971
2) WinSCP с логином root и пустым паролем:
Вложение 22972
PS прошивал вот этим:
сначала 1_setup_plc_firmware_v1.025.exe , затем сразу 2_usr_fw_setup_plc323web_v3.212
Честно говоря через putty никакого подключения на прямую не было (если только в самих файлах устанавливающих прошивку это не реализована, я говорю про лог который напоминает putty диалог см. скрин):
Вложение 22973
Я устанавливал тупо методом тыка "далее-далее-далее" когда спрашивали какие-либо настройки (шлюз, MAC адрес, ip ПЛК) и т.д. я вводил. НО я точно ничего не вводил руками, никаких root'ов и паролей.
UPD:
Помог мне тов. Евгений Кислов, все оказалось куда проще, откуда-то в поле пароля попадали лишние символы (возможно от программы puntoswitcher) лечиться очень просто:
Нажимаем на поле пароля и много раз бэкспейс (удаление символа).
Спасибо за помощь.
Как объявить перевод строки? просто в строке \n не помогает =) компилятор видит это как простое символы.
"\n" - так объявляет WSTRING. Остается только вариант насильно записать ASCII кода 16#0A в нужное место строки? Гуглил, читал мануалы не соображу никак как работать со спец символами в codesys.
str:STRING:='123123123\n'; // нужно чтобы они видел здесь спец символ, как сделать?
Кроме костылей в голову ничего не приходит:
str[LEN(str)+1]:=16#00;
str[LEN(str)]:=16#0A;
Не уверен, что правильно понял вопрос, но если речь об управляющих последовательностях в CODESYS (например, отображать STRING переменную в визуализации в несколько строк), то см. п. 9.3 документа СПК. Визуализация.
Вложение 23012
Нет, есть строка '2353454674757756' ее я записываю в файл, но хочу чтобы записалась эта строка + знак новой(перевод) строки \n.
Спасибо, понял, экранирование не как в СИ через обратный слеш) а через $. Помогло.
Цитата:
buf:STRING(100000);
...
FOR j:=0 TO sz DO
IF buf[j]=16#31 THEN // 31h ASCII код единицы '1'
n:=n+1;
END_IF
END_FOR
Я не хочу писать ASCII коды, я хочу чето типо:
IF buf[j]='1' THEN
...
Но он жалуется что разные типы, тогда делаю STRING_TO_BYTE('1') но тогда равенство не выполняется. Т.е. он просто преобразует '1' в 01d
при этом если взять BYTE_TO_STRING(buf[j]) тоже не помогает.
Как быть? Не нашел ничего в документации как сделать так, чтобы работало по человечески?