Тема / Topic: Чтение/Запись канала CALL в файл *dat
Gennady
Junior Member / Новичок
Участник № / Member № 6305
отправлено / posted
Добрый день.
Имеется канал CALL с типом вызова ChGroupReq и названием File_1 с аргументами. Программа_1 посылает 1 на атрибут 128(чтение). Всё работает.
Но я добавил ещё один канал CALL с типом вызова ChGroupReq и названием File_2 с аргументами. Программа_2 посылает 1 на атрибут 129(Запись). В результате работает только запись а канал с чтением перестал работать.
Что нужно сделать что бы одновременно работали два канала один на чтение другой на запись?
Сообщения / Posts 27 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Одномоментно работать можно с одним каналом.
В случае необходимости работать с несколькими файлами (чтение/запись у канала Call), то следует это делать последовательно.
Отдельно отмечу, что подавать команду на чтение/запись с помощью программы необходимо аккуратно. Присвоение выходному аргументу некоторого значения происходит постоянно (с периодом отработки канала-программы). Тем самым, если программа подает 1 на запись в файл, то она будет подавать ее до тех пор, пока Вы не отмените эту команду.
Gennady
Junior Member / Новичок
Участник № / Member № 6305
отправлено / posted
Я переделал так что у меня теперь два канала CALL с типом вызова ChGroupReq и названиями File_1(для чтения) и File_2(для записи). Но ОДНА! программа которая по очереди отправляет единицы на нужные атрибуты в каналы. Всё равно работает только один канал, сейчас только на чтение, запись перестало работать.
Я правильно понял что во всём проекте может быть только один канал CALL с типом вызова ChGroupReq для работы с текстовыми файлами *.dat ?
Или всё таки как то можно сделать несколько файлов *.dat и работать с ними?
И что значит как вы написали отменить команду? Если я вместо 1 отправлю 0 это является отменой команды?
Сообщения / Posts 27 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Gennady: Я правильно понял что во всём проекте может быть только один канал CALL с типом вызова ChGroupReq для работы с текстовыми файлами *.dat ?
Или всё таки как то можно сделать несколько файлов *.dat и работать с ними?
В проекте может быть несколько dat-файлов с разными названиями (именами каналов).
quote:Отправитель / Originally posted by Gennady: И что значит как вы написали отменить команду? Если я вместо 1 отправлю 0 это является отменой команды?
Если отправить 0, то это так же команда. Так как Вы (согласно описанию выше) посылаете программой 1 или 0, то происходит работа с первым каналом.
Gennady
Junior Member / Новичок
Участник № / Member № 6305
отправлено / posted
У меня имеется: 1) Канал CALL с типом вызова ChGroupReq и названием File_1 с аргументами. Соответственно будет файл File_1.dat .С него надо только читать
2) Канал CALL с типом вызова ChGroupReq и названием File_2 с аргументами. Соответственно будет файл File_2.dat .В него надо только записывать
Мне надо что они работали одновременно.
Есть программа в которой 2 аргумента. Один аргумент шлёт 1 в один канал, другой аргумент 1 в другой канал. Привязки соответственно для чтения и записи всё правильно.
Когда две привязки работает только канал для записи. Если удалить привязку для записи заработает канал для чтения. А как сделать что бы оба работали?
Сообщения / Posts 27 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Gennady
Junior Member / Новичок
Участник № / Member № 6305
отправлено / posted
В качестве примера скажу что вот с каналами баз данных такой проблемы не было. У меня несколько каналов БД и у каждой есть своя прога которая шлёт номер запроса. И всё прекрасно работает одновременно и не мешает друг дургу. Вот я и не пойму почему с файлами *.dat есть проблема.
Сообщения / Posts 27 | Из / From: Россия
| IP / IP: IP адрес / IP address |