cmcdonald Posted August 25, 2010 Share Posted August 25, 2010 Hi, I'm working with the binary rotary buffer using the [i]DPRAsciiStrToRotEx[/i] function (i.e. [i]DPRAsciiStrToRotEx(dwDevice,str,coordSys,sendImmediate,status)[/i]), but it doesn't seem to work and I'm getting a [i]-70[/i] 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 Link to comment Share on other sites More sharing options...
Unit101 Posted August 26, 2010 Share Posted August 26, 2010 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;[hr] 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 Link to comment Share on other sites More sharing options...
zfang Posted August 27, 2010 Share Posted August 27, 2010 I used the function [i]DPRRotBufInit(dwDevice, bSuccess)[/i] 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. Link to comment Share on other sites More sharing options...
Recommended Posts