MacReady: А если без симуляции ручками нажимать, работают коды? Я к тому, что возможно (в порядке бреда, но всё же), на симуляцию (как и на обычное нажатие) влияет NumLock.
digna: Обычно данные хотят получить для построения HMI. Если Вы к этому стремитесь, то товарищ sitev_ru показал Вам верное направление - обмен данными между ПК и контроллером в большинстве случаев осуществляется посредством OPC-сервера. Хотите ли Вы делать это с помощью C# если есть множество SCADA систем специально предназначенных для разработки HMI?
Может стоит вкратце описать ЧТО Вы хотите сделать, чтобы не приходилось гадать. "Получить данные с контроллера" - слишком общая и размытая задача (например, можно ещё предположить, что Вам нужно "слить" работающую в данный момент программу).
Ярослав Белаш: Это я уже понял. "Элемент в конструкторе" - это, как я понимаю, передается в параметрах конструктора?
Объявляйте локальную статическую переменную класса (_serialPort) и в конструкторе присваивайте ей передаваемый параметр.
Как то так:
class tmpClass
{
static SerialPort _serialPort;
public tmpClass(SerialPort serialPort)
{
_serialPort = serialPort;
}
}
Дальше работаете с локальной переменной. Ну и, при необходимости, возвращать serialPort во внешний мир.
Если код можно менять, то, как советует Sharp, по старинке использовать string.Format.
Т.е. меняете Ваше
return message.CreateReplyMessage($"You sent {length} characters");
на
return message.CreateReplyMessage(string.Format("You sent {0} characters", length));
hauptling: Интересен Ваш опыт работы с ПЛК, после которого Вы так отчаялись и сделали вывод о том, что "не вижу перспективы развития ПЛК". Сколько моделей/производителей ПЛК прошло через Ваши умелые руки? 10-20-30?
Алексей Павлов: Я возможно Вас удивлю или открою некий секрет, но указанный сайт является сокращённым в некоторых местах содержанием Шилдта. В своё время (когда там был описан ещё C# 4.0) наткнувшись на него и начав изучение показалось что где-то уже это видел. Оказалось не казалось :-) Выборочное сравнение нескольких глав подтвердило это.
Так что Шилдта Вы всё таки читали ;-) А сайт действительно хорош.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.