Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PcommServer DPRam Bin. Rot. function Return Status -70
#1
Hi,

I'm working with the binary rotary buffer using the DPRAsciiStrToRotEx function (i.e. DPRAsciiStrToRotEx(dwDevice,str,coordSys,sendImmediate,status)), but it doesn't seem to work and I'm getting a -70 for the "status", for which I can't find the specific reference in the documentation. In the documentation, it seemingly suggests that it is a conversion issue, but the same program lines have worked fine previously. I'd like to know what error that status value implies and how to fix it.

Thanks,

Chris
#2
Hi Chris,
I have seen this exact issue, here are my notes on this from my project. Let me know if you need more help.
mike

case -70:
//"RS274 to BIN DPR or PMAC Rotary Buffer Size Err"
//-this occurs if device properties Dpram Rot buffer not setup
//-this occurs if pcommserver is up and pmac power cycles - dpram not setup so must restart pcommserver after pmac is up and running
errStr = "RS274 to BIN DPR or PMAC Rotary Buffer Size Err\n";
break;
Hi Chris...

I also have these notes... most from manual but a couple are not documented... these are tested and true. Let me know if you need any sample code working with the Rotary buffers... they are tricky, if you get it right they work perfect 100%... but if not they can be troublesome. For example be sure you clear the buffer several times in a loop and chk to be sure it is clear before you load to it....

Following are the list of errors:
IDS_ERR_059 -59 "RS274 to BIN DPROT Unable to allocate memory"
IDS_ERR_060 -60 "RS274 to BIN DPROT Unable to pack floating point number"
IDS_ERR_061 -61 "RS274 to BIN DPROT Unable to convert string to float number"
IDS_ERR_062 -62 "RS274 to BIN DPROT Illegal Command or Format in string"
IDS_ERR_063 -63 "RS274 to BIN DPROT Integer number out of range"

DprError -1 Dpr either not present of Rotary buffer not defined

DprOk 0 The code was successfully sent to DPR

DprBufBsy 1 DPR Binary Rotary Buffer is Busy, please try again soon. Also, PMAC may stop running the program for a variety of reasons. When this occurs, the DPR Rotary Buffer will fill up and appear busy to the PC

DprEOF 2 DPR Binary Rotary Buffer End of File detected
#3
I used the function DPRRotBufInit(dwDevice, bSuccess) to resolve the above issue, in which case the DPRAM can be setup/initialized directly from the code without having to use the PEWIN. However, this function is not documented either and I had to search it out by using .Net reflector on the PCOMMSERVERLib.1.0.dll.


Forum Jump:


Users browsing this thread: 1 Guest(s)