Чтение и запись сложной структуры с массивами строк из контроллера Beckhoff через ADS.NET [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Чтение и запись сложной структуры с массивами строк из контроллера Beckhoff через ADS.NET [закрыто]

Сообщение Anonymous »

У меня возникла проблема с запросом к ПЛК. Я могу прочитать структуру, которую покажу ниже, но массив строк отображается неправильно. Я получаю ноль для каждой отдельной строки. Я попробовал несколько вещей, но ничего не помогло.
Вот структура ПЛК:

Код: Выделить всё

TYPE ST_DATABASE_REQUEST :
STRUCT
sDB_Name :STRING;
sUsername:STRING;
sPasswort:STRING;
sIPServer:STRING;
uiPort:UINT;
xBusy:BOOL;
xDone:BOOL;
xError:BOOL;
xExecute:BOOL;
bIndex:BYTE;
asRequest:ARRAY[0..99]OF STRING;
END_STRUCT
END_TYPE
Вот структура в C#:

Код: Выделить всё

public partial class ADSDatabaseReq
{
public string sDatabse;
public string sUsername;
public string sPassword;
public string sIPServer;
public ushort uiPort;
public bool xBusy;
public bool xDone;
public bool xError;
public bool xExecute;
public byte bIndex;
[MarshalAs(UnmanagedType.ByValArray,SizeConst =100)]
public string[] asRequest;
}

На следующих изображениях показаны текущие данные. Вот что я получаю.
Изображение

Изображение

Изображение

В настоящее время я не знаю, в чем проблема.

Подробнее здесь: https://stackoverflow.com/questions/798 ... erung-lese
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»