RMQ message size limit
egor
✭
Hi, I get an error (41708: RMQ Error - Invalid message) while trying to recieve message (ASCII symbols) from PC app. I found out, that strings more than 80 symbols raise this error.
But message size limit is 444. So, I don't get it
I know, there is a limitation for socket recieving for strings (max. number of characters 80 can be handled). Maybe there's the same limitation for RMQ?
Here is my code:
But message size limit is 444. So, I don't get it
I know, there is a limitation for socket recieving for strings (max. number of characters 80 can be handled). Maybe there's the same limitation for RMQ?
Here is my code:
public void SendMessage(string strMsg)
{
//> 80 symbols (not working)
//strMsg = "LF'L'R'D'RBDU'B'U'BU2BUB'ULU'L'U'B'U'BFUF'U'FUF'U'FUF'U'RU2R'F'U2FL'BLUL'U'B'ULU'R'U2RU2R'FRUR'U'R'F'R2U";
//80 symbols (working fine)
strMsg = "LF'L'R'D'RBDU'B'U'BU2BUB'ULU'L'U'B'U'BFUF'U'FUF'U'FUF'U'RU2R'F'U2FL'BLUL'U'B'ULU";
//Message size limit - 444
MessageBox.Show(tRob1Queue.MessageSizeLimit.ToString());
//Clear byte
Byte[] data = null;
//Create message data
data = new UTF8Encoding().GetBytes("string;\"" + strMsg + "\"");
//Place data and sender information in message
sendMessage.SetData(data);
sendMessage.Sender = myQueue.QueueId;
//Send message to the RAPID queue
tRob1Queue.Send(sendMessage);
}
0
Comments
-
dnilsson said:Test sending a message from the robot to the PC with 80 characters and check the message size of that message when you receive it.0
-
The limitation here would be the string itself. Try to create a program with a string longer than 80chars and it will tell you it's too long.1
-
Is there a way to send a message in bytes (similar to raw data)? Or should I split the message into 2 parts?0
-
This may be of help
you can change the message size limit in the sys file.
SYS.cfgCAB_TASKS:-Name "T_ROB1" -RmqMaxMsgSize 1000
Then I normally use a record to pack a bunch of data together in whatever format your trying to use.
The limit for any one string variable will always be 80 but you can have multiple 80 string variables in a Record that is sent over the RMQ.RECORD RMQ_Datastring sTask;
pos position;dnum dnUnixStamp;ENDRECORD
While I have not used it myself you should be able to send rawbytes aswell.
1
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 798 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings